在SpringBoot应用程序中,当在带有@Configuration注释的类中创建bean时,它是单例的吗?还是为每个请求创建的。例如,在下面的代码中,clientBean是单身吗?
@Configuration(name = "clientBean")
class StarupConfiguration {
@Bean
fun ApiServiceClient(): IApiServiceClient {
return new ApiServiceClient();
}
}
答案 0 :(得分:0)
这是一个单身人士。查看@Scope annotation documentation,了解如何修改该行为。它还确认单例是默认作用域。
答案 1 :(得分:0)
默认情况下,@Bean
生成一个 singleton bean,由Spring Container管理。
如果要修改此行为,可以用@Scope
标记该方法,以从单例切换到所需的任何其他范围。
@Bean
@Scope("prototype")
public MyBean myBean() {
return new MyBean();
}
请参见here。