【发布时间】:2015-09-29 07:20:58
【问题描述】:
我使用 maven 添加 jar 和 bean。 比我想在上下文文件中自动装配它们...
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="statisticsService" class="com.ac.kpi.AcStatisticsService">
<constructor-arg name="dataService" ref="acDataService"/>
</bean>
</beans>
问题:当我运行 tomcat 时出现错误:
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [com.ac.kpi.StatisticsService] 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:1326)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1072)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:967)
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:543)
尽管所有 maven 依赖项都已导入并存在。 MoreOver在Idea中,在LinuxOS的everyring中工作,问题只在eclipse、Windows OS中。
【问题讨论】:
-
检查您的 war/ear 文件,其中包含弹簧罐。检查 pom 文件中 jar 的范围。
-
看起来一切正常,此外,另一个 bean 已正确加载。
-
您是否在根上下文 xml 中添加了注释驱动标签?