Я использую @Resource аннотировать классы фасоли, @Autowired к autowire зависимостей, и в файле конфигурации Spring эти вещи: Нет фасоли под названием «...» определяется и Spring @Resource аннотацию
context:component-scan base-package="package1,package2" tx:annotation-driven
Итак, это работает отлично (проверено). Spring сканирует package1, package2, классы с аннотацией @Resource , а затем я могу получить их с помощью getBean(), ЕСЛИ ИСПЫТАНИЕ ОТ КОНСОЛЬНОГО ПРИМЕНЕНИЯ [скажем, с функцией main()].
Но когда я пытаюсь использовать следующий подход (использование Spring в контейнерном управляемой среде = с Tomcat):
<context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath*:beans.xml</param-value> </context-param> <listener> <listener-class>org.springframework.web.context.request.RequestContextListener</listener-class> </listener> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener>
компилировать баночку со всеми классами фасоли и поставить эту баночку в WEB-INF/Lib
то что я вижу? Я не могу getBean() любой из этих аннотированных bean-компонентов @Resource!
Весна просто не может найти их.
Тем не менее я могу getBean() beans, которые явно присутствуют в beans.xml.
В чем проблема?
Не могли бы вы переформатировать свой первый фрагмент кода? – lexicore