Spring Bean的生命周期及预处理

生命周期

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("类要销毁啦");
    }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值