专栏名称: 芋道源码
纯 Java 源码分享公众号,目前有「Dubbo」「SpringCloud」「Java 并发」「RocketMQ」「Sharding-JDBC」「MyCAT」「Elastic-Job」「SkyWalking」「Spring」等等
TodayRss-海外RSS稳定源
目录
今天看啥  ›  专栏  ›  芋道源码

16个SpringBoot 扩展接口,帮你写出更加漂亮的代码

芋道源码  · 公众号  · Java  · 2024-10-04 17:54
    

主要观点总结

本文总结了Spring框架中可扩展的接口及其使用场景,包括Spring容器刷新过程、Bean生命周期等。

关键观点总结

关键观点1: Spring框架中的扩展接口

Spring框架提供了许多扩展接口,允许开发者在Spring容器不同阶段插入自定义逻辑。

关键观点2: ApplicationContextInitializer

在容器刷新之前初始化ConfigurableApplicationContext的回调接口,可以在容器刷新之前调用此类的initialize方法。

关键观点3: BeanDefinitionRegistryPostProcessor

在读取项目中的beanDefinition之后执行,提供一个补充的扩展点,可以动态注册自己的beanDefinition。

关键观点4: BeanFactoryPostProcessor

在读取beanDefinition信息之后、实例化bean之前,用户可以通过实现这个扩展接口来自行处理一些事情。

关键观点5: InstantiationAwareBeanPostProcessor

该接口继承了BeanPostProcess接口,扩展点主要在bean生命周期的两大阶段:实例化阶段和初始化阶段。

关键观点6: SmartInstantiationAwareBeanPostProcessor

包含预测Bean类型、确定构造函数、提前暴露回调方法等触发点。

关键观点7: BeanFactoryAware

在bean实例化之后,注入属性之前触发,可以拿到BeanFactory这个属性。

关键观点8: ApplicationContextAwareProcessor

用于执行各种驱动接口,在bean实例化之后,属性填充之后,通过执行扩展接口来获取对应容器的变量。

关键观点9: BeanNameAware

在bean的初始化之前拿到spring容器中注册的beanName,可以用来自行修改这个beanName的值。

关键观点10: @PostConstruct

一个标注,用于在bean的初始化阶段,标注的方法进行先调用。

关键观点11: InitializingBean

提供初始化方法的方式,在初始化bean的时候都会执行该方法。

关键观点12: FactoryBean

通过实现该接口定制实例化Bean的逻辑,隐藏实例化一些复杂bean的细节。

关键观点13: SmartInitializingSingleton

在所有单例对象(非懒加载对象)初始化完成之后调用的回调接口。

关键观点14: CommandLineRunner

在项目启动完毕后自动执行的方法,用于进行启动项目之后的业务预处理。

关键观点15: DisposableBean

当对象销毁时自动执行的方法,如运行applicationContext.registerShutdownHook时触发。

关键观点16: ApplicationListener

监听某个事件的event,可以在业务方法执行过程中自定义业务事件。


免责声明:本文内容摘要由平台算法生成,仅为信息导航参考,不代表原文立场或观点。 原文内容版权归原作者所有,如您为原作者并希望删除该摘要或链接,请通过 【版权申诉通道】联系我们处理。

原文地址: 访问原文地址
总结与预览地址:访问文章预览/总结
文章地址: 访问文章快照