我想通过惟一的名称(Bean名称)创建一个首选项实例.
因此,myBeanName1将是跨春上下文的一个实例。以及跨春上下文的另一个myBeanName2。
可以这样做吗?我对在方法级别定义的@Bean注释感到有点困惑。
根据我的理解,@Bean总是返回新的(原型)实例,每当我调用它时,直到我使用这个@Scope(value = ConfigurableBeanFactory.SCOPE_SINGLETON)来控制创建行为。
(我知道春天的Bean默认是Singleton。)
请澄清。
@Bean(name="myBeanName1")
@ConfigurationProperties(prefix="proect.entity1")
public Preference entityDefault() {return new Preference();}
@Bean(name="myBeanName2")
@ConfigurationProperties(prefix="proect.entity2")
public Preference entityDefault() {return new Preference();}发布于 2015-08-17 12:57:26
@Bean注释将方法标记为创建Bean的工厂。缺省情况下,Spring是单例的,并在启动时在容器中注册。如果需要多个实例,则需要显式地将其范围配置为原型。原型bean是根据需要创建的。
https://stackoverflow.com/questions/32050648
复制相似问题