舊文檔春季Javaconfig說,我可以用我可以使用Spring Javaconfig創建原型範圍的bean嗎?
@Bean(scope=DefaultScopes.PROTOTYPE)
得到一個bean原型,但春天3.0.5的@Bean
似乎並不具有這種屬性。
是否有任何方法來控制Javaconfig中的bean範圍?
舊文檔春季Javaconfig說,我可以用我可以使用Spring Javaconfig創建原型範圍的bean嗎?
@Bean(scope=DefaultScopes.PROTOTYPE)
得到一個bean原型,但春天3.0.5的@Bean
似乎並不具有這種屬性。
是否有任何方法來控制Javaconfig中的bean範圍?
另外,DefaultScopes
不適用於Spring核心,但爲方便起見,您可以使用BeanDefinition.SCOPE_PROTOTYPE
和BeanDefinition.SCOPE_SINGLETON
。
例如,您可以添加@Scope("prototype")
:
@Bean
@Scope("prototype")
public DemoDao getDao() {
DemoDao dao = new DemoDao();
dao.setAddress("annoted:address");
dao.setName("annoted:name");
return dao;
}
這與接受的答案有何不同? –
你應該解釋爲什麼OP應該這樣做。此外,如果您評論更多代碼,爲什麼不把它放入答案中,以便人們立即看到它? :) – LinusGeffarth
就像我剛剛做的;) –
使用面向Java的配置如下,
@Bean
@Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
public SpringBean springBean(){
SpringBean bean = new SpringBean();
return bean;
}
或者乾脆,
@Scope(value = "prototype")
參考@Scope註釋
謝謝,谷歌出乎意料地難以爲之! –
它現在'ConfigurableBeanFactory.SCOPE_PROTOTYPE' – sinu