scala+spring 似乎忽略了 Qualifier 注释
我有这样的事情:
class MyBean {
@Autowired
@Qualifier("jdbcTemplate")
@BeanProperty
var jdbcTemplate : JdbcTemplate = null
}
Spring 抱怨它找不到 JdbcTemplate 类型的 bean 并拒绝自动装配。我的 spring.xml 有:
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.simple.SimpleJdbcTemplate">
<constructor-arg ref="dataSource" />
</bean>
如果我将 MyBean 中的 jdbcTemplate 类型从 JdbcTemplate 更改为 SimpleJdbcTemplate 那么它就可以工作。我的问题是为什么它显然忽略了限定符注释?我做错了什么吗?
I have something like this:
class MyBean {
@Autowired
@Qualifier("jdbcTemplate")
@BeanProperty
var jdbcTemplate : JdbcTemplate = null
}
Spring complains that it can't find a bean of type JdbcTemplate and refuses to autowire. My spring.xml has:
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.simple.SimpleJdbcTemplate">
<constructor-arg ref="dataSource" />
</bean>
If I change the type of jdbcTemplate in MyBean from JdbcTemplate to SimpleJdbcTemplate then it works. My question is why is it apparently ignoring the Qualifier annotation? Am I doing something wrong?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
它与@Qualifier 无关。
SimpleJdbcTemplate
不是JdbcTemplate
的子类,因此它不能注入到JdbcTemplate
类型的字段中。It has nothing to do with
@Qualifier
.SimpleJdbcTemplate
is not a subclass ofJdbcTemplate
, therefore it cannot be injected into a field of typeJdbcTemplate
.