Spring3的@Configuration不能@Inject注入组件扫描的bean
||
这是我的app.xml:
<context:component-scan base-package=\"destiny.web\" />
<context:annotation-config/>
在destiny.web包中有一个Dao
(接口)和DaoImpl
(用@Repository
注释)。
还有另一个Spring3的destiny.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]
怎么解决呢?
谢谢。
没有找到相关结果
已邀请:
2 个回复
撕吠
其他组件。因此,在构造器上打印时,您的dao为空,因为
。 尝试为您的configapp创建测试应用程序。
你换
而不是
?