" listenercontainer(i)"方法调用每次都创建一个新的bean?
OR
这只是常规方法吗?
如果是常规方法调用,那么如何在containers方法中创建新bean呢?
@Configuration
public class JMSConfig {
private int value=5;
@Bean(initMethod="start",destroyMethod="stop")
@Scope("prototype")
public DefaultMessageListenerContainer listenerContainer(int i) {
DefaultMessageListenerContainer container = new DefaultMessageListenerContainer();
....//container properties
return container;
}
@Bean
public Set<DefaultMessageListenerContainer> containers() {
Set<DefaultMessageListenerContainer> containers = new HashSet<DefaultMessageListenerContainer>();
for(int i=0;i<value;i++){
DefaultMessageListenerContainer container = listenerContainer(i);
containers.add(container);
}
return containers;
}
}
我可以自动装配Springapplication上下文并使用它来创建一个新的bean吗?
我的主要方法代码
SpringApplication app = new SpringApplication(PncPublisherApplication.class);
app.run(args);
答案 0 :(得分:0)
Spring(5.0)中的原型范围如下:
bean的非单例原型范围部署导致每次发出对该特定bean的请求时都会创建一个新的bean实例。也就是说,将bean注入另一个bean,或者通过对容器的getBean()方法调用来请求它。