欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Spring Bean的生命周期及预处理

程序员文章站 2022-07-14 10:27:20
...

生命周期

spring中bean生命周期的四个阶段:
  1. 实例化 Instantiation
  2. 属性赋值 Populate
  3. 初始化 Initialization
  4. 销毁 Destruction

各个阶段的工作:
  1. 实例化,创建一个Bean对象
  2. 填充属性,为属性赋值
  3. 初始化
      ○ 如果实现了xxxAware接口,通过不同类型的Aware接口拿到Spring容器的资源
      ○ 如果实现了BeanPostProcessor接口,则会回调该接口的postProcessBeforeInitialzation和postProcessAfterInitialization方法
      ○ 如果配置了init-method方法,则会执行init-method配置的方法
  5. 销毁
  6.
      ○ 容器关闭后,如果Bean实现了DisposableBean接口,则会回调该接口的destroy方法
      ○ 如果配置了destroy-method方法,则会执行destroy-method配置的方法

类加载前预处理

方法一:实现InitializingBean

@Component
public class TestInitBean implements InitializingBean {
    @Override
    public void afterPropertiesSet() throws Exception {
        System.out.println("测试预加载");
    }
}

方法二:注解@PostConstruct

@Component
public class ProcessBeanTest {

    @PostConstruct
    public void init(){
        System.out.println("预加载");
    }

}

类销毁前预处理

注解@PreDestroy

@Component
public class ProcessBeanTest {

    @PostConstruct
    public void init(){
        System.out.println("预加载");
    }

    @PreDestroy
    public void destory(){
        System.out.println("类要销毁啦");
    }

}

相关标签: spring java