Spring Javaconfig的旧文档说我可以使用
@Bean(scope=DefaultScopes.PROTOTYPE)
获取原型bean,但Spring 3.0.5的@Bean
似乎没有这个属性。
有没有办法在Javaconfig中控制bean的范围?
答案 0 :(得分:21)
此外,DefaultScopes
在Spring核心中不可用,但为方便起见,您可以使用BeanDefinition.SCOPE_PROTOTYPE
和BeanDefinition.SCOPE_SINGLETON
。
答案 1 :(得分:2)
您可以添加@Scope("prototype")
,例如:
@Bean
@Scope("prototype")
public DemoDao getDao() {
DemoDao dao = new DemoDao();
dao.setAddress("annoted:address");
dao.setName("annoted:name");
return dao;
}
答案 2 :(得分:0)
将以下内容用于Java配置,
@Bean
@Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
public SpringBean springBean(){
SpringBean bean = new SpringBean();
return bean;
}
或者简单地说,
@Scope(value = "prototype")
参考@Scope注释