Spring 内部 初始化方法的执行顺序

关于BeanPostProcessor的执行顺序

假定有下面三个类

public class Hello2 {public Hello2(){System.out.println("Hello2 构造器");}
}public class Hello3 {public Hello3(){System.out.println("Hello3 构造器");}}public class InitHelloWorld implements BeanPostProcessor{public InitHelloWorld(){System.out.println("InitHelloWorld construct");}@Overridepublic Object postProcessBeforeInitialization(Object o, String s) throws BeansException {System.out.println("InitHelloWorld.postProcessBeforeInitialization:" + s);return o;}@Overridepublic Object postProcessAfterInitialization(Object o, String s) throws BeansException{System.out.println("InitHelloWorld.postProcessAfterInitialization:" + s);return o;}}

就上面的例子,请问打印的结果

是下面这个?Hello1 构造器
InitHelloWorld.postProcessBeforeInitialization:Hello1 
Hello2 构造器
InitHelloWorld.postProcessBeforeInitialization:Hello2 还是下面这个?Hello1 构造器
Hello2 构造器
InitHelloWorld.postProcessBeforeInitialization:Hello1 
InitHelloWorld.postProcessBeforeInitialization:Hello2 

答案是:

Hello1 构造器
InitHelloWorld.postProcessBeforeInitialization:Hello1 
Hello2 构造器
InitHelloWorld.postProcessBeforeInitialization:Hello2 

自己看代码把!

https://www.jianshu.com/p/80d4fa132747

Spring InitializingBean init-method @PostConstruct 执行顺序_可爱马莲花的博客-CSDN博客_initializingbean执行顺序


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部