[Spring Boot] Bean 的作用域单例和原型

单例

Spring Bean 默认作用域是单例的,也就是说 A、B、C 三个类被注入到 IoC 容器中之后,假如 B、C 都依赖了 A,那么它们依赖的 A 在内存中都是同一个对象。

容器中只有一个A的实例,B和C都将引用同一个A对象。

原型

如果想要每次注入都创建一个新的 A 实例,可以考虑将 A 的作用域设置为原型(Prototype),这可以通过在@Component 注解中使用 @Scope("prototype") 来实现。这样每次注入A时都会创建一个新的A对象,而不是共享同一个对象。

@Component
@Scope("prototype")
public class A {
    // ...
}
posted @   Himmelbleu  阅读(25)  评论(0编辑  收藏  举报
首页
随笔
博客园
我的
标签
管理
[Spring Boot] Bean 的作用域单例和原型
发表于 2023-10-31 15:56
|
已有 25 人阅读
|
留下 0 条评论
|
全文字数 ≈ 141字

单例

Spring Bean 默认作用域是单例的,也就是说 A、B、C 三个类被注入到 IoC 容器中之后,假如 B、C 都依赖了 A,那么它们依赖的 A 在内存中都是同一个对象。

容器中只有一个A的实例,B和C都将引用同一个A对象。

原型

如果想要每次注入都创建一个新的 A 实例,可以考虑将 A 的作用域设置为原型(Prototype),这可以通过在@Component 注解中使用 @Scope("prototype") 来实现。这样每次注入A时都会创建一个新的A对象,而不是共享同一个对象。

JAVA
@Component
@Scope("prototype")
public class A {
    // ...
}
作者:Himmelbleu
出处: https://www.cnblogs.com/Himmelbleu/#/p/17800490
版权:本作品采用「 署名-非商业性使用-相同方式共享 4.0 国际 」许可协议进行许可。
文章目录
单例
原型
点击右上角即可分享
微信分享提示