SpringBoot-@Configuration创建一个单例bean

时间:2019-11-14 23:28:17

标签: spring spring-boot

在SpringBoot应用程序中,当在带有@Configuration注释的类中创建bean时,它是单例的吗?还是为每个请求创建的。例如,在下面的代码中,clientBean是单身吗?

@Configuration(name = "clientBean")
class StarupConfiguration {
 @Bean
 fun ApiServiceClient(): IApiServiceClient {
        return new ApiServiceClient();
 }
}

2 个答案:

答案 0 :(得分:0)

这是一个单身人士。查看@Scope annotation documentation,了解如何修改该行为。它还确认单例是默认作用域。

答案 1 :(得分:0)

默认情况下,@Bean生成一个 singleton bean,由Spring Container管理。

如果要修改此行为,可以用@Scope标记该方法,以从单例切换到所需的任何其他范围。

 @Bean
 @Scope("prototype")
 public MyBean myBean() {
     return new MyBean();
 }

请参见here