【发布时间】:2011-04-16 01:37:40
【问题描述】:
这是我的 app.xml:
<context:component-scan base-package="destiny.web" />
<context:annotation-config/>
并且有一个 Dao(interface) 和 DaoImpl(用 @Repository 注释)在命运.web 包中。
还有另一个Spring3的命运.web.AppConfig类:
@Configuration
public class AppConfig
{
@Inject
private Dao daoImpl
public AppConfig()
{
System.out.println("dao = " + daoImpl);
}
}
它打印 'null' ,为什么?
我确信所有这些 bean/配置/存储库都已被扫描。但似乎 @Configuration 不知道其他扫描的 bean 。我错过了什么吗?
我尝试通过@ImportResource 解决它:
@Configuration
@ImportResource("classpath:app.xml")
public class AppConfig
但它似乎导致循环 bean 扫描并抛出此异常:
{main} org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Only one AsyncAnnotationBeanPostProcessor may exist within the context.
Offending resource: class path resource [app.xml]
如何解决?
谢谢。
【问题讨论】:
标签: spring configuration dependency-injection spring-3