综合所有提到的初始化方式,以下是它们的大致执行顺序:
- @PostConstruct
- InitializingBean.afterPropertiesSet
- @Bean 的 initMethod
- SmartInitializingSingleton.afterSingletonsInstantiated
- @EventListener (如 ContextRefreshedEvent)
- ApplicationRunner.run
- CommandLineRunner.run
- ApplicationListener (如 ApplicationReadyEvent)