Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Не автоварится @Service в @Controller / 25 сообщений из 26, страница 1 из 2
26.07.2013, 15:59:05
    #38345490
redwhite90
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не автоварится @Service в @Controller
Помогите разобраться с автоварингом. пытаюсь заавтоварить сюда:

Код: java
1.
2.
3.
4.
5.
6.
7.
package com.epam.springProject.ws.controller;
@Controller
@RequestMapping("/candidates")
public class CandidateController extends AbstractController {
	@Autowired
	private CandidateService candidateService;
}


вываливается:
Код: xml
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.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'candidateController': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private com.epam.hhsystem.services.CandidateService com.epam.springProject.ws.controller.CandidateController.candidateService; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No matching bean of type [com.epam.hhsystem.services.CandidateService] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
	at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:287)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1106)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294)
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225)
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:585)
	at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:913)
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:464)
	at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:389)
	at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:294)
	at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:112)
	at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4887)
	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5381)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:662)
Caused by: org.springframework.beans.factory.BeanCreationException: Could not autowire field: private com.epam.hhsystem.services.CandidateService com.epam.springProject.ws.controller.CandidateController.candidateService; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No matching bean of type [com.epam.hhsystem.services.CandidateService] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
	at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:506)
	at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:87)
	at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:284)
	... 23 more
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No matching bean of type [com.epam.hhsystem.services.CandidateService] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoSuchBeanDefinitionException(DefaultListableBeanFactory.java:924)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:793)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:707)
	at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:478)
	... 25 more
26.07.2013 15:28:23 org.apache.catalina.core.StandardContext listenerStart
SEVERE: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'candidateController': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private com.epam.hhsystem.services.CandidateService com.epam.springProject.ws.controller.CandidateController.candidateService; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No matching bean of type [com.epam.hhsystem.services.CandidateService] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
	at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:287)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1106)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294)
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225)
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:585)
	at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:913)
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:464)
	at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:389)
	at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:294)
	at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:112)
	at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4887)
	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5381)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:662)
Caused by: org.springframework.beans.factory.BeanCreationException: Could not autowire field: private com.epam.hhsystem.services.CandidateService com.epam.springProject.ws.controller.CandidateController.candidateService; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No matching bean of type [com.epam.hhsystem.services.CandidateService] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
	at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:506)
	at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:87)
	at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:284)
	... 23 more
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No matching bean of type [com.epam.hhsystem.services.CandidateService] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoSuchBeanDefinitionException(DefaultListableBeanFactory.java:924)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:793)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:707)
	at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:478)
	... 25 more



Если в этом же классе обращаться так:
всё прекрасно работает
Код: java
1.
2.
3.
4.
ApplicationContext context = new ClassPathXmlApplicationContext(
				"spring/BeanConfig.xml");
		CandidateService candidateService = (CandidateService) context.getBean(
				"candidateService", CandidateService.class);



сервисный класс выглядит так:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
package com.epam.hhsystem.services;

@Service("candidateService")
public class CandidateService  {
	
	@Autowired
	private CandidateDao candidateDao;
	
	@Autowired
	private VacancyDao vacancyDao;

	public CandidateService() {
	}

	//methods


в web.xml
Код: xml
1.
2.
3.
<listener>
		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>




Код: xml
1.
2.
3.
4.
5.
6.
7.
<!-- Включаем опцию использования конфигурационных аннотаций (@Annotation-based configuration)-->
	<context:annotation-config />
	
	<!--ищем тут разные аннотации (например @service)  -->
	<context:component-scan base-package="com.epam.hhsystem.jpa" />
	<context:component-scan base-package="com.epam.hhsystem.util" />
	<context:component-scan base-package="com.epam.hhsystem.services" />



что-то ещё может надо где-то написать?
...
Рейтинг: 0 / 0
26.07.2013, 16:21:48
    #38345561
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не автоварится @Service в @Controller
Попробуй убрать ("candidateService")
...
Рейтинг: 0 / 0
26.07.2013, 16:26:07
    #38345575
redwhite90
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не автоварится @Service в @Controller
Blazkowicz,

убрал - стэкТрэйс не изменился(
...
Рейтинг: 0 / 0
26.07.2013, 16:28:05
    #38345585
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не автоварится @Service в @Controller
[quot redwhite90]
Код: xml
1.
2.
3.
4.
5.
6.
7.
<!-- Включаем опцию использования конфигурационных аннотаций (@Annotation-based configuration)-->
	<context:annotation-config />
	
	<!--ищем тут разные аннотации (например @service)  -->
	<context:component-scan base-package="com.epam.hhsystem.jpa" />
	<context:component-scan base-package="com.epam.hhsystem.util" />
	<context:component-scan base-package="com.epam.hhsystem.services" />



А как так получилось что com.epam.springProject.ws.controller скнирует и без указания?
hhsystem в отдельном jar-е живет?
...
Рейтинг: 0 / 0
26.07.2013, 16:40:01
    #38345620
redwhite90
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не автоварится @Service в @Controller
Blazkowicz,

авторА как так получилось что com.epam.springProject.ws.controller скнирует и без указания?

что значит без указания?
авторhhsystem в отдельном jar-е живет?


проект из двух модулей core и ws

у каждого свой pom.xml и всё такое.
...
Рейтинг: 0 / 0
26.07.2013, 16:48:03
    #38345641
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не автоварится @Service в @Controller
redwhite90что значит без указания?


Ну, в XML почему одни package указаны, а другие - нет?

redwhite90проект из двух модулей core и ws
у каждого свой pom.xml и всё такое.
Это совершенно не важно как организован исходный код проекта. Важно как организованы бинарники. Ошибка ведь в рантайме, а не в проекте.
...
Рейтинг: 0 / 0
26.07.2013, 17:19:36
    #38345712
redwhite90
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не автоварится @Service в @Controller
Blazkowicz,

Я пробовал прописать пакет где лежат контролеры, но ничего не менялось, а NetBeans и без этого работает. Исходя из этого сделал вывод, что этот пакет упоминать не обязательно.

Может быть что то прояснит, что модуль ws зависит от модуля core.
...
Рейтинг: 0 / 0
26.07.2013, 17:23:21
    #38345718
redwhite90
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не автоварится @Service в @Controller
Blazkowicz,

getBean конечно
...
Рейтинг: 0 / 0
26.07.2013, 17:39:22
    #38345751
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не автоварится @Service в @Controller
redwhite90Blazkowicz,

Я пробовал прописать пакет где лежат контролеры, но ничего не менялось, а NetBeans и без этого работает. Исходя из этого сделал вывод, что этот пакет упоминать не обязательно.

Может быть что то прояснит, что модуль ws зависит от модуля core.
А рантайме нет никаких "модулей". "Модули" это логические элементы Maven. В рантайме это или отдельные jar-ы. Или jar внутри war. Но вытянуть из вас эту информацию, кажется не выйдет.
...
Рейтинг: 0 / 0
26.07.2013, 17:46:22
    #38345772
redwhite90
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не автоварится @Service в @Controller
Blazkowicz,

Хорошо. Про модули молчу.

А про какую вы информацию? Все расскажу)
...
Рейтинг: 0 / 0
26.07.2013, 17:50:09
    #38345781
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не автоварится @Service в @Controller
есть application.war, в нем WEB-INF. В нем classes и libs. Где какие из вышеуказаных классов лежат?
И ещё BeanConfig.xml единственный конфиг? Если да, то как спринг его должен обнаружить из того что прописано в web.xml?
...
Рейтинг: 0 / 0
26.07.2013, 17:50:26
    #38345783
redwhite90
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не автоварится @Service в @Controller
core это jar ws это war
...
Рейтинг: 0 / 0
26.07.2013, 18:02:58
    #38345816
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не автоварится @Service в @Controller
redwhite90core это jar ws это war
отлично. и jar находится в WEB-INF/libs ? Или где?
...
Рейтинг: 0 / 0
26.07.2013, 18:06:00
    #38345825
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не автоварится @Service в @Controller
Мне кажется, что дело было так. Спринг просканировал web-inf/classes и нашел там контроллер. А web-inf/lib он скорее всего не сканирует потому что это долго.
Ваш spring-xml валяется не известно где и поэтому Спринг про него ничего не знает.
Ссылку на Spring-xml либо нужно прописать в web.xml. Либо правильно обозвать и положить в WEB-INF. Детали в мануле по Spring MVC
...
Рейтинг: 0 / 0
26.07.2013, 18:12:42
    #38345840
redwhite90
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не автоварится @Service в @Controller
А lib вообще нет в этой папке. А в classes только контролеры. Спринцовый конфиг в core модуле. spring/springBeans.xml
...
Рейтинг: 0 / 0
26.07.2013, 18:14:03
    #38345844
redwhite90
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не автоварится @Service в @Controller
Или надо смотреть то, что делается на сервер?
...
Рейтинг: 0 / 0
26.07.2013, 18:28:15
    #38345878
redwhite90
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не автоварится @Service в @Controller
Получается для автоваринга и
для getBean сканируется по разному?
...
Рейтинг: 0 / 0
26.07.2013, 18:31:23
    #38345884
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не автоварится @Service в @Controller
redwhite90А lib вообще нет в этой папке. А в classes только контролеры.
То есть где находятся классы сервисов вы вообще без понятия?

redwhite90Спринцовый конфиг в core модуле. spring/springBeans.xml
И как Spring про него узнает?
...
Рейтинг: 0 / 0
26.07.2013, 18:33:17
    #38345888
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не автоварится @Service в @Controller
redwhite90Получается для автоваринга и
для getBean сканируется по разному?
Получается ClassPathXmlApplicationContext и WebApplicationContext лежат в разных ветках иерархии классов.
...
Рейтинг: 0 / 0
28.07.2013, 15:51:45
    #38346642
dmitriyche
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не автоварится @Service в @Controller
redwhite90,

тестовое задание в EPAM? :)
...
Рейтинг: 0 / 0
29.07.2013, 15:45:20
    #38347499
redwhite90
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не автоварится @Service в @Controller
dmitriyche,

нет
...
Рейтинг: 0 / 0
29.07.2013, 15:47:39
    #38347503
redwhite90
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не автоварится @Service в @Controller
Blazkowicz,

Вы правы всё таки были - jar-ка с сервисами лежит в либах.


авторСсылку на Spring-xml либо нужно прописать в web.xml. Либо правильно обозвать и положить в WEB-INF. Детали в мануле по Spring MVC

Если честно, я даже не знаю что у гугла спросить для ответа на этот вопрос
...
Рейтинг: 0 / 0
29.07.2013, 15:50:35
    #38347513
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не автоварится @Service в @Controller
redwhite90,

Мануал по Spring MVC
http://static.springsource.org/spring/docs/3.2.x/spring-framework-reference/html/mvc.html
Там, правда, немного вперемешку. Вопросы конфигурирования по всей 17й главе размазаны.
Читай всё по разделам. Если что-то конкретное знаешь или сейчас не нужно скипай.
...
Рейтинг: 0 / 0
29.07.2013, 18:07:04
    #38347736
redwhite90
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не автоварится @Service в @Controller
Blazkowicz,

Честно попробовал всё это прочитать. Видимое мои не самые блестящие знания английского не позволили мне понять где кроется ответ(.
...
Рейтинг: 0 / 0
30.07.2013, 16:13:56
    #38349027
redwhite90
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не автоварится @Service в @Controller
жаль
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Не автоварится @Service в @Controller / 25 сообщений из 26, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]