在Spring容器启动时,会对所有的Bean进行实例化,包括Bean的依赖关系以及依赖的Bean。实例化后的Bean对象将被放入BeanFactory中管理。在Bean的使用过程中,Spring容器会根据需要对Bean进行单例或者多例的管理。对于单例的Bean,Spring容器会在第一次获取该Bean实例时进行实例化和初始化,之后每次获取都是返回同一个实例。对于多例的Bean,每次获取都会创建新的实例并进行初始化。
在Spring容器关闭时,会对所有的Bean进行销毁操作。对于单例的Bean,销毁操作会在容器关闭时执行;对于多例的Bean,销毁操作则由使用者负责。销毁操作的具体实现可以通过实现DisposableBean接口或者指定destroy-method属性来完成。
SpringBoot默认的是单例模式,如果想要声明多个实例对象要使用@Scope("prototype")注解
@Component
@Scope(“prototype”)