【发布时间】:2015-02-26 16:33:23
【问题描述】:
是否可以在用 Java 编写的 Spring 配置中使用 Spring 的 @Autowired 注解?
例如:
@Configuration
public class SpringConfiguration{
@Autowired
DataSource datasource;
@Bean
public DataSource dataSource(){
return new dataSource();
}
// ...
}
显然 DataSource 接口不能直接实例化,但为了简化,我在这里直接实例化了它。目前,当我尝试上述方法时,数据源对象仍然为空,并且没有被 Spring 自动装配。
我通过返回FactoryBean<SessionFactory> 让@Autowired 成功地使用Hibernate SessionFactory 对象。
所以我的问题是:关于DataSource,有没有办法做到这一点?或者更一般地说,在 Spring Java 配置中自动装配 bean 的方法是什么?
我应该注意我使用的是 Spring 3.2 版。
【问题讨论】:
-
你为什么需要在那里自动接线?
-
我只是想将 xml 配置文件转换为 Java 配置文件。我想既然我可以在 xml 中通过 id 引用 bean,为什么我不应该在 Java 配置文件中使用 autowire 注释呢?