自动连线……不止一个?

ian*_*naz 4 spring spring-mvc jakarta-ee

我在用

<context:component-scan base-package="com.package.dao"/> (Spring 3)
Run Code Online (Sandbox Code Playgroud)

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

有人可以帮助我吗?

谢谢!

aba*_*ogh 5

请参阅spring 文档

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

...

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

改用@Resource,请参见此处