自动接线..不止一个?


问题内容

我在用

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

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

有人可以帮助我吗?

谢谢!


问题答案:

请参阅spring文档

@Autowired基本上是关于带有可选语义限定符的类型驱动的注入。这意味着即使在使用bean名称后备的情况下,限定符值在类型匹配集中也始终具有狭窄的语义。他们没有在语义上表示对唯一bean
id的引用

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

请改用@Resource,请参见此处