自动装配......不止一个?

时间:2011-05-22 23:18:13

标签: spring spring-mvc java-ee

我正在使用

<context:component-scan base-package="com.package.dao"/> (Spring 3)

@Autowired 的控制器中将自动检索我需要的DAO。那是完美而有效的。 问题是当我需要多个DAO管理器时。 我能怎么做? 我试过 @Qualifier ,但我不确定dao-manager的名字。 className不起作用

有人可以帮帮我吗?

谢谢!

1 个答案:

答案 0 :(得分:4)

请参阅spring documentation

  

@Autowired基本上是关于带有可选语义限定符的类型驱动注入。这意味着限定符值,即使使用bean名称回退,在类型匹配集中总是具有缩小语义;它们在语义上不表示对唯一bean id的引用

     

...

     

如果您打算按名称表达注释驱动的注入,请不要主要使用@Autowired - 即使技术上能够通过@Qualifier值引用bean名称。相反,更喜欢JSR-250 @Resource注释,该注释在语义上定义为通过其唯一名称标识特定目标组件,声明的类型与匹配过程无关。

请改用@Resource,参见here