是否可以通过名称或其值创建 Bean Singleton?
is it possible to create Bean Singleton by name or its value?
我想通过唯一名称(Bean 名称)创建首选项的单个实例。
所以 myBeanName1 将是 spring 上下文中的一个实例。
spring 上下文中的另一个 myBeanName2。
是否可以这样做?我对这个在方法级别定义的 @Bean 注释有点困惑。
根据我的理解,@Bean 将始终 return 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 的工厂。 Spring bean 默认是单例的,在启动时注册到容器中。如果您需要多个实例,则需要将其范围显式配置为原型。原型 bean 是按需创建的。
我想通过唯一名称(Bean 名称)创建首选项的单个实例。
所以 myBeanName1 将是 spring 上下文中的一个实例。 spring 上下文中的另一个 myBeanName2。
是否可以这样做?我对这个在方法级别定义的 @Bean 注释有点困惑。
根据我的理解,@Bean 将始终 return 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 的工厂。 Spring bean 默认是单例的,在启动时注册到容器中。如果您需要多个实例,则需要将其范围显式配置为原型。原型 bean 是按需创建的。