我正在阅读Spring 3.0文档,我来到了句子 -
注释注入在XML注入之前执行,因此是后一种配置 将覆盖通过两种方法连接的属性的前者。
接下来我想到了一个问题:
如果我在bean中使用注释(如@Service("myService")
),现在我使用的是另一个bean,它使用“myService”,并且“myService”将通过XML配置注入。
这会有用吗?我试过但它给了我
BeanCreationException(设置bean属性'myService'时无法解析对bean'myService'的引用)
后来,我经历了这个问题Wiring Spring bean through annotations and xml context,但在解决方案中,它被告知“只是保留所有注释的字段,并且它们会被自动注入。” (我没试过这个解决方案)
但是,如果我想指定所有带注释的字段,比如我在上面指定了@Service
注释,该怎么办?
有什么建议??
答案 0 :(得分:0)
你需要像下面那样自动装配你的构造函数......
@Autowired(required=true)
public UserService(DataSource dataSource){
this.userDS = new UserDS(dataSource);
}
因此,在上面的代码中,DataSource
会自动注入UserService
。
答案 1 :(得分:0)
我找到答案,效果很好。实际上我忘了在xml配置中添加标签。我们需要在每个配置文件中添加此标记,即如果您已为服务层bean编写了配置文件,请为服务层注释bean添加标记。类似于dao和控制器层。