是否可以在用@AutowiredJava编写的Spring配置中使用Spring的注释?
例如:
@Configuration
public class SpringConfiguration{
@Autowired
DataSource datasource;
@Bean
public DataSource dataSource(){
return new dataSource();
}
// ...
}
Run Code Online (Sandbox Code Playgroud)
显然,DataSource接口不能直接实例化,但我在这里直接实例化它是为了简化.目前,当我尝试上述操作时,数据源对象保持为null并且不由Spring自动装配.
我通过返回一个@AutowiredHibernate SessionFactory对象成功地工作了FactoryBean<SessionFactory>.
所以我的具体问题是:有没有办法做到这一点DataSource?或者更一般地说,在Spring Java配置中自动装配bean的方法是什么?
我应该注意到我使用的是Spring 3.2版.
Sot*_*lis 34
如果需要DataSource在同一@Configuration文件中引用bean,只需调用bean方法即可.
@Bean
public OtherBean someOtherBean() {
return new OtherBean(dataSource());
}
Run Code Online (Sandbox Code Playgroud)
或者将它自动装入@Bean方法中
@Bean
public OtherBean someOtherBean(DataSource dataSource) {
return new OtherBean(dataSource);
}
Run Code Online (Sandbox Code Playgroud)
一个@Configuration类的生命周期有时会像你建议的那样阻止自动装配.
| 归档时间: |
|
| 查看次数: |
24973 次 |
| 最近记录: |