文章

Spring的一点问题

Spring中Bean的生命周期:

  1. 实例化对象

  2. 填充Bean的属性

  3. 调用各种实现了Aware接口的类

  4. BeanPostProcessor中的postProcessBeforeInitialization方法(@PostConstruct 注解就是这一步执行的)

  5. 初始化

    1. 调用InitializingBean的afterPropertiesSet方法

    2. 调用开发人员自定义的initMethod方法

  6. BeanPostProcessor中的postProcessAfterInitialization方法(Aop代理对象的创建就在这一步)

  7. 使用Bean

  8. 销毁Bean

    1. 调用DisposableBean的destory方法

    2. 调用开发人员自定义的destoryMethod方法

Spring中Aop通知的执行流程:

  1. Around通知的前半部分(调用proceed()之前的代码)

  2. Before通知

  3. 目标方法执行

  4. AfterReturning通知(如果方法正常返回)或AfterThrowing通知(如果方法抛出异常)

  5. After通知(无论方法是否抛出异常)

  6. Around通知的后半部分(调用proceed()之后的代码)

License:  CC BY 4.0