bra*_*orm 8 spring spring-bean spring-boot spring-4
默认情况下,spring bean是单例.我想知道是否有办法获得同一个bean的多个实例进行处理.
这是我目前所做的
@Configuration
public class ApplicationMain {
@Value("${service.num: not configured}")
private int num;
//more code
@PostConstruct
public void run(){
for (int i = 0; i < num ; i++) {
MyService ser = new MyService(i);
Future<?> tasks = executor.submit(ser);
}
}
}
Run Code Online (Sandbox Code Playgroud)
这是Service类
public class MyService implements Runnable {
private String name;
public Myservice(int i){
name=String.ValueOf(i);
}
}
Run Code Online (Sandbox Code Playgroud)
我在这里简化了我的用法.我希望将MyService作为spring bean,并根据num上述for循环中的configuartion(即)获取尽可能多的内容?想知道这是怎么可能的.
谢谢
小智 19
首先,你必须制作MyService一个Spring bean.您可以通过使用注释来完成此操作@Component.接下来,正如你所说,Spring bean默认是单例,所以可以用另外一个注释来改变它@Scope("prototype").
原型bean范围意味着每次向Spring请求bean的实例时,都会创建一个新实例.这适用于自动装配,向bean询问应用程序上下文getBean(),或使用bean工厂.
| 归档时间: |
|
| 查看次数: |
13263 次 |
| 最近记录: |