Spring的一点问题
Spring中Bean的生命周期:
实例化对象
填充Bean的属性
调用各种实现了Aware接口的类
BeanPostProcessor中的
postProcessBeforeInitialization
方法(@PostConstruct 注解就是这一步执行的)初始化
调用InitializingBean的afterPropertiesSet方法
调用开发人员自定义的initMethod方法
BeanPostProcessor中的
postProcessAfterInitialization
方法(Aop代理对象的创建就在这一步)使用Bean
销毁Bean
调用DisposableBean的destory方法
调用开发人员自定义的destoryMethod方法
Spring中Aop通知的执行流程:
Around通知的前半部分(调用proceed()之前的代码)
Before通知
目标方法执行
AfterReturning通知(如果方法正常返回)或AfterThrowing通知(如果方法抛出异常)
After通知(无论方法是否抛出异常)
Around通知的后半部分(调用proceed()之后的代码)
License:
CC BY 4.0