powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Не автоварится @Service в @Controller
26 сообщений из 26, показаны все 2 страниц
Не автоварится @Service в @Controller
    #38345490
redwhite90
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помогите разобраться с автоварингом. пытаюсь заавтоварить сюда:

Код: 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
Не автоварится @Service в @Controller
    #38345561
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуй убрать ("candidateService")
...
Рейтинг: 0 / 0
Не автоварится @Service в @Controller
    #38345575
redwhite90
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowicz,

убрал - стэкТрэйс не изменился(
...
Рейтинг: 0 / 0
Не автоварится @Service в @Controller
    #38345585
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[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
Не автоварится @Service в @Controller
    #38345620
redwhite90
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowicz,

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

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


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

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


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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

Честно попробовал всё это прочитать. Видимое мои не самые блестящие знания английского не позволили мне понять где кроется ответ(.
...
Рейтинг: 0 / 0
Не автоварится @Service в @Controller
    #38349027
redwhite90
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
жаль
...
Рейтинг: 0 / 0
Не автоварится @Service в @Controller
    #38349329
redwhite90
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
кому интересно: проблема решилась добавлением такой строчки в конфиг ws

Код: xml
1.
<import resource="classpath*:spring/BeanConfig.xml"/>
...
Рейтинг: 0 / 0
26 сообщений из 26, показаны все 2 страниц
Форумы / Java [игнор отключен] [закрыт для гостей] / Не автоварится @Service в @Controller
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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