Форум программистов, компьютерный форум, киберфорум
Java EE (J2EE)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
6 / 6 / 1
Регистрация: 29.11.2013
Сообщений: 492
1

Конфликт репозиториев

07.02.2016, 12:15. Показов 1342. Ответов 7
Метки нет (Все метки)

Не могу понять почему у меня происходит конфликт репозиториев.
дальше указываю содержимое
Сделал авторизацию
Таблица юзеры
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
@Entity
@Table(name = "user")
public class User {
 
 
    @Id
    private String name;
 
    private String password;
 
    public String getName() {
        return name;
    }
 
    public void setName(String name) {
        this.name = name;
    }
 
    public String getPassword() {
        return password;
    }
 
    public void setPassword(String password) {
        this.password = password;
    }
 
}
Вот сам репозиторий юзера который потом конфликтует с другими, далее будет пример
Java
1
2
3
4
5
6
@Repository
public interface UserRepository extends CrudRepository<User,String>
{
 
 
}
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
@Component("userService")
@Scope("session")
public class UserServiceImpl implements UserService {
 
    private final UserRepository userRepository;
 
    private boolean logined;
 
    @Autowired
    public UserServiceImpl(UserRepository userRepository) {
        this.userRepository = userRepository;
    }
 
 
    public boolean login(String name, String password)
    {
        User user = userRepository.findOne(name);
        if(user == null)
        {
            return false;
        }
        boolean result =  user.getPassword().equals(password);
        logined = result;
        return logined;
    }
 
    public void logout()
    {
        logined = false;
    }
 
    public boolean isLogined() {
        return logined;
    }
}
тут все вызывается
Java
1
2
3
4
5
6
7
8
public interface UserService {
 
    boolean login(String name, String password);
 
    void logout();
 
    boolean isLogined();
}
Ну и сама авторизация
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
@RestController
@Scope("session")
public class LoginController {
 
    @Autowired
    private UserService userService;
 
    @RequestMapping("/**")
    public Object index()
    {
        return new Error("no access");
    }
 
    @RequestMapping("/rest/login")
    public Object login(@RequestParam("username") String username, @RequestParam("password") String password) {
 
        String response;
 
        if(userService.login(username, password))
        {
            response = Utitlity.constructJSON("login",true);
            return response;
        }
        return new Error("auth failed");
    }
 
    @RequestMapping("/rest/logout")
    public Object logout() {
 
        if(!userService.isLogined()){
            return new Error("no logined");
        }
        userService.logout();
        return new Response("loggedout");
    }
}
Далее хочу добавить таблицу новости и что бы из нее выводило заголовок и текст

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
@Entity
@Table(name = "news")
public class News {
 
    private long id;
    private String title;
    private String text;
 
    @Id
    public long getId() {
        return id;
    }
 
    public void setId(long id) {
        this.id = id;
    }
 
    public String getTitle() {
        return title;
    }
 
    public void setTitle(String title) {
        this.title = title;
    }
 
    public String getText() {
        return text;
    }
 
    public void setText(String text) {
        this.text = text;
    }
}
Тут при создании листа и начинаются проблемы, выдает Error creating bean with name 'requestMappingHandlerAdapter' defined in class path resource

Java
1
2
3
4
5
6
@Repository
public interface NewsRepository extends CrudRepository<News, Long> {
 
    List<News> findAllNews();
 
}
Дальше думал так вывести
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
@RestController
public class NewsController {
 
    @Autowired
    private NewsRepository rep;
 
    @RequestMapping(value = "/get", method = RequestMethod.GET)
    public @ResponseBody
    java.util.List<News> index ()
    {
        return rep.findAllNews();
    }
}
Но после этого уже начитает ругаться на Error creating bean with name 'newsController': Injection of autowired dependencies failed; nested exception is

Сильно не ругайте если что то не так делаю, я только начинаю изучать)
Заранее спасибо.
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.02.2016, 12:15
Ответы с готовыми решениями:

Возможно ли сохранять данные разных репозиториев используя CrudRepository?
Вопрос находится в такой плоскости. Клиент делает покупку на сайте. На сайте не одна БД, из...

Конфликт библиотек
Друзья, доброго времени суток! Помогите, пожалуйста с такой проблемой: выскакивает ...

Безопастность репозиториев
Здравствуйте. Меня интересует, каким образом обеспечивается безопастность репозиториев...

Ошибки репозиториев GPG
Здравствуйте, устанавливал разные рода драйвера на свежунакаченную elementary os (Ubuntu 18.04) И...

7
6 / 6 / 1
Регистрация: 29.11.2013
Сообщений: 492
07.02.2016, 12:18  [ТС] 2
Вот скрин для полной картины
Конфликт репозиториев
0
Эксперт Java
2374 / 2204 / 560
Регистрация: 28.12.2010
Сообщений: 8,614
07.02.2016, 15:08 3
Цитата Сообщение от qdhtnsoyndtr Посмотреть сообщение
Но после этого уже начитает ругаться на Error creating bean with name 'newsController': Injection of autowired dependencies failed; nested exception is
продолжение лога то где?
0
6 / 6 / 1
Регистрация: 29.11.2013
Сообщений: 492
07.02.2016, 15:46  [ТС] 4
KEKCoGEN,
Кликните здесь для просмотра всего текста
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'newsController': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private hello.repository.NewsRepository hello.controllers.NewsController.rep; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'newsRepository': Invocation of init method failed; nested exception is org.springframework.data.mapping.PropertyReferenceException: No property findAllNews found for type News!
at org.springframework.beans.factory.annotation.AutowiredAnnota tionBeanPostProcessor.postProcessPropertyValues(AutowiredAnn otationBeanPostProcessor.java:334) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCa pableBeanFactory.populateBean(AbstractAutowireCapableBeanFac tory.java:1214) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCa pableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFac tory.java:543) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCa pableBeanFactory.createBean(AbstractAutowireCapableBeanFacto ry.java:482) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactor y$1.getObject(AbstractBeanFactory.java:306) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE]
at org.springframework.beans.factory.support.DefaultSingletonBe anRegistry.getSingleton(DefaultSingletonBeanRegistry.java:23 0) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactor y.doGetBean(AbstractBeanFactory.java:302) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactor y.getBean(AbstractBeanFactory.java:197) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE]
at org.springframework.beans.factory.support.DefaultListableBea nFactory.preInstantiateSingletons(DefaultListableBeanFactory .java:772) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE]
at org.springframework.context.support.AbstractApplicationConte xt.finishBeanFactoryInitialization(AbstractApplicationContex t.java:839) ~[spring-context-4.2.4.RELEASE.jar:4.2.4.RELEASE]
at org.springframework.context.support.AbstractApplicationConte xt.refresh(AbstractApplicationContext.java:538) ~[spring-context-4.2.4.RELEASE.jar:4.2.4.RELEASE]
at org.springframework.boot.context.embedded.EmbeddedWebApplica tionContext.refresh(EmbeddedWebApplicationContext.java:118) ~[spring-boot-1.3.1.RELEASE.jar:1.3.1.RELEASE]
at org.springframework.boot.SpringApplication.refresh(SpringApp lication.java:764) [spring-boot-1.3.1.RELEASE.jar:1.3.1.RELEASE]
at org.springframework.boot.SpringApplication.doRun(SpringAppli cation.java:357) [spring-boot-1.3.1.RELEASE.jar:1.3.1.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplica tion.java:305) [spring-boot-1.3.1.RELEASE.jar:1.3.1.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplica tion.java:1124) [spring-boot-1.3.1.RELEASE.jar:1.3.1.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplica tion.java:1113) [spring-boot-1.3.1.RELEASE.jar:1.3.1.RELEASE]
at hello.Application.main(Application.java:26) [main/:na]
Caused by: org.springframework.beans.factory.BeanCreationException: Could not autowire field: private hello.repository.NewsRepository hello.controllers.NewsController.rep; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'newsRepository': Invocation of init method failed; nested exception is org.springframework.data.mapping.PropertyReferenceException: No property findAllNews found for type News!
at org.springframework.beans.factory.annotation.AutowiredAnnota tionBeanPostProcessor$AutowiredFieldElement.inject(Autowired AnnotationBeanPostProcessor.java:573) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE]
at org.springframework.beans.factory.annotation.InjectionMetada ta.inject(InjectionMetadata.java:88) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE]
at org.springframework.beans.factory.annotation.AutowiredAnnota tionBeanPostProcessor.postProcessPropertyValues(AutowiredAnn otationBeanPostProcessor.java:331) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE]
... 17 common frames omitted
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'newsRepository': Invocation of init method failed; nested exception is org.springframework.data.mapping.PropertyReferenceException: No property findAllNews found for type News!
at org.springframework.beans.factory.support.AbstractAutowireCa pableBeanFactory.initializeBean(AbstractAutowireCapableBeanF actory.java:1578) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCa pableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFac tory.java:545) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCa pableBeanFactory.createBean(AbstractAutowireCapableBeanFacto ry.java:482) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactor y$1.getObject(AbstractBeanFactory.java:306) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE]
at org.springframework.beans.factory.support.DefaultSingletonBe anRegistry.getSingleton(DefaultSingletonBeanRegistry.java:23 0) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactor y.doGetBean(AbstractBeanFactory.java:302) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactor y.getBean(AbstractBeanFactory.java:197) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE]
at org.springframework.beans.factory.support.DefaultListableBea nFactory.findAutowireCandidates(DefaultListableBeanFactory.j ava:1192) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE]
at org.springframework.beans.factory.support.DefaultListableBea nFactory.doResolveDependency(DefaultListableBeanFactory.java :1116) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE]
at org.springframework.beans.factory.support.DefaultListableBea nFactory.resolveDependency(DefaultListableBeanFactory.java:1 014) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE]
at org.springframework.beans.factory.annotation.AutowiredAnnota tionBeanPostProcessor$AutowiredFieldElement.inject(Autowired AnnotationBeanPostProcessor.java:545) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE]
... 19 common frames omitted
Caused by: org.springframework.data.mapping.PropertyReferenceException: No property findAllNews found for type News!
at org.springframework.data.mapping.PropertyPath.<init>(Propert yPath.java:75) ~[spring-data-commons-1.11.2.RELEASE.jar:na]
at org.springframework.data.mapping.PropertyPath.create(Propert yPath.java:327) ~[spring-data-commons-1.11.2.RELEASE.jar:na]
at org.springframework.data.mapping.PropertyPath.create(Propert yPath.java:307) ~[spring-data-commons-1.11.2.RELEASE.jar:na]
at org.springframework.data.mapping.PropertyPath.from(PropertyP ath.java:270) ~[spring-data-commons-1.11.2.RELEASE.jar:na]
at org.springframework.data.mapping.PropertyPath.from(PropertyP ath.java:241) ~[spring-data-commons-1.11.2.RELEASE.jar:na]
at org.springframework.data.repository.query.parser.Part.<init> (Part.java:76) ~[spring-data-commons-1.11.2.RELEASE.jar:na]
at org.springframework.data.repository.query.parser.PartTree$Or Part.<init>(PartTree.java:235) ~[spring-data-commons-1.11.2.RELEASE.jar:na]
at org.springframework.data.repository.query.parser.PartTree$Pr edicate.buildTree(PartTree.java:373) ~[spring-data-commons-1.11.2.RELEASE.jar:na]
at org.springframework.data.repository.query.parser.PartTree$Pr edicate.<init>(PartTree.java:353) ~[spring-data-commons-1.11.2.RELEASE.jar:na]
at org.springframework.data.repository.query.parser.PartTree.<i nit>(PartTree.java:84) ~[spring-data-commons-1.11.2.RELEASE.jar:na]
at org.springframework.data.jpa.repository.query.PartTreeJpaQue ry.<init>(PartTreeJpaQuery.java:61) ~[spring-data-jpa-1.9.2.RELEASE.jar:na]
at org.springframework.data.jpa.repository.query.JpaQueryLookup Strategy$CreateQueryLookupStrategy.resolveQuery(JpaQueryLook upStrategy.java:95) ~[spring-data-jpa-1.9.2.RELEASE.jar:na]
at org.springframework.data.jpa.repository.query.JpaQueryLookup Strategy$CreateIfNotFoundQueryLookupStrategy.resolveQuery(Jp aQueryLookupStrategy.java:206) ~[spring-data-jpa-1.9.2.RELEASE.jar:na]
at org.springframework.data.jpa.repository.query.JpaQueryLookup Strategy$AbstractQueryLookupStrategy.resolveQuery(JpaQueryLo okupStrategy.java:73) ~[spring-data-jpa-1.9.2.RELEASE.jar:na]
at org.springframework.data.repository.core.support.RepositoryF actorySupport$QueryExecutorMethodInterceptor.<init>(Reposito ryFactorySupport.java:416) ~[spring-data-commons-1.11.2.RELEASE.jar:na]
at org.springframework.data.repository.core.support.RepositoryF actorySupport.getRepository(RepositoryFactorySupport.java:20 6) ~[spring-data-commons-1.11.2.RELEASE.jar:na]
at org.springframework.data.repository.core.support.RepositoryF actoryBeanSupport.initAndReturn(RepositoryFactoryBeanSupport .java:251) ~[spring-data-commons-1.11.2.RELEASE.jar:na]
at org.springframework.data.repository.core.support.RepositoryF actoryBeanSupport.afterPropertiesSet(RepositoryFactoryBeanSu pport.java:237) ~[spring-data-commons-1.11.2.RELEASE.jar:na]
at org.springframework.data.jpa.repository.support.JpaRepositor yFactoryBean.afterPropertiesSet(JpaRepositoryFactoryBean.jav a:92) ~[spring-data-jpa-1.9.2.RELEASE.jar:na]
at org.springframework.beans.factory.support.AbstractAutowireCa pableBeanFactory.invokeInitMethods(AbstractAutowireCapableBe anFactory.java:1637) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCa pableBeanFactory.initializeBean(AbstractAutowireCapableBeanF actory.java:1574) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE]
... 29 common frames omitted
0
Эксперт Java
2374 / 2204 / 560
Регистрация: 28.12.2010
Сообщений: 8,614
07.02.2016, 18:10 5
Лучший ответ Сообщение было отмечено KEKCoGEN как решение

Решение

qdhtnsoyndtr, думаю это связанно с naming conventions репозиториев. Вам ненужен метод findAllNews(). Он вам доступен из базовой имплементации. Удалите метод findAllNews и должно заработать
0
6 / 6 / 1
Регистрация: 29.11.2013
Сообщений: 492
07.02.2016, 18:47  [ТС] 6
KEKCoGEN, а как же мне тогда вывести содержимое? ведь он используется в NewsController
0
Эксперт Java
2374 / 2204 / 560
Регистрация: 28.12.2010
Сообщений: 8,614
07.02.2016, 20:11 7
qdhtnsoyndtr, вы наследуете от класса который предоставляет этот метод
1
6 / 6 / 1
Регистрация: 29.11.2013
Сообщений: 492
07.02.2016, 21:19  [ТС] 8
KEKCoGEN, ох, спасибо, не знал что его так можно вызвать)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.02.2016, 21:19

История репозиториев, связанных с компьютерами
Интереснло почитать про репозитории. С чего все начиналось, какие были альтернативы... В общем...

Добавление репозиториев и удовлетворение зависимостей
Доброго всем дня. Столкнулся я с нетривиальной для себя задачей, поставить zabbix-agent на машину...

Как обновить список репозиториев?
Прошу помочь!: Debian 7.2 wheezy, 32 бита, к сети подключен deb...

Обновление списка репозиториев в GitHub
Захотелось поработать с GitHub перез Visuial Studio 2015. Скачал себе разширение...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.