【发布时间】:2015-08-17 12:38:43
【问题描述】:
我想通过唯一名称(豆名)创建单个首选项实例。
所以 myBeanName1 将是 spring 上下文中的一个实例。 还有一个跨弹簧上下文的 myBeanName2。
有可能这样做吗?我对在方法级别定义的 @Bean 注释有点困惑。
据我了解,@Bean 将始终返回 new(prototype) 实例,无论何时调用它,直到我使用此 @Scope(value = ConfigurableBeanFactory.SCOPE_SINGLETON) 来控制创建行为。
(我知道spring 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();}
【问题讨论】:
-
你的理解是错误的。默认情况下是单例。
-
我知道,但我在想@Bean 可能会创建多个 bean,但它不像 XML 配置。谢谢。
标签: spring spring-bean