[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 {
// ...
}