当@EnableConfigurationProperties注解应用到你的@Configuration时, 任何被@ConfigurationProperties注解的beans将自动被Environment属性配置。 这种风格的配置特别适合与SpringApplication的外部YAML配置进行配合使用。或者不使用@EnableConfigurationProperties,在@ConfigurationProperties注解的beans上加@Component也能交给spring容器
1. BeanNameAware实现了此接口的类在spring容器启动之后会回调setBeanName方法,传入BeanName
2. BeanFactoryAware实现了此接口的类在spring容器启动之后会回调setBeanFactory方法,传入BeanFactory
3. ApplicationContextAware实现了此接口的类在spring容器启动之后会回调setApplicationContext方法,传入ApplicationContext
4. SmartInitializingSingleton:spring初始化完所有的单例Bean,判断如果是SmartInitializingSingleton类型的,就执行afterSingletonsInstantiated()方法
5. EnvironmentAware实现此接口的类在spring容器启动之后会回调setEnvironment方法,传入Environment
6. EnvironmentCapable实现了这个接口的类有getEnvironment,返回Environment对象的能力
7. InitializingBean实现了此接口的类在spring初始化Bean的时候afterPropertiesSet方法,没有参数