Spring生命周期扩展接口
文章平均质量分 94
码至终章
这个作者很懒,什么都没留下…
展开
-
Spring扩展点系列-MergedBeanDefinitionPostProcessor
spring容器中Bean的生命周期内所有可扩展的点的调用顺序扩展接口实现接口initializerefreshegetobjectrundestroy扩展点的作用是对合并后的BeanDefintion进行后置处理。准确的调用时机应该是在创建完 bean 实例之后,接下来会对该接口源码和举例进行说明该扩展点的使用。原创 2024-09-20 10:53:15 · 1019 阅读 · 0 评论 -
Spring扩展点系列-SmartInstantiationAwareBeanPostProcessor
提到SmartInstantiationAwareBeanPostProcessor,这里就要说到三级缓存的话题,spring引入一个三级缓存来解决循环依赖和AOP的问题。三级缓存的key还是为beanName,但是value是一个函数(ObjectFactory#getBean方法),在该函数中执行获取早期对象的逻辑:getEarlyBeanReference方法。 在getEarlyBeanReference方法中,Spring会调用所有SmartInstantiationAwareBeanPostPr原创 2024-09-14 18:27:12 · 1139 阅读 · 0 评论 -
Spring扩展点系列-BeanFactoryAware
BeanFactoryAware用于注入BeanFactory对象。我们可以访问创建该对象的BeanFactory。借助 setBeanFactory()方法,我们将IoC 容器中的BeanFactory引用分配给beanFactory 属性,之后,我们可以创建函数直接使用它。BeanNameAware的常用场景一般是用于日志记录。原创 2024-09-14 11:06:51 · 1239 阅读 · 0 评论 -
Spring扩展点系列-ApplicationContextAwareProcessor
今天要介绍的是ApplicationContextAwareProcessor ,ApplicationContextAwareProcessor 本身是没有扩展点的,但其内部却有7个扩展点可供实现 ,分别为这些内部扩展点触发的时机在bean实例化之后,初始化之前。原创 2024-09-12 11:44:05 · 1167 阅读 · 0 评论 -
Spring扩展点系列-BeanNameAware
spring容器中Bean的生命周期内所有可扩展的点的调用顺序扩展接口实现接口initializerefreshegetobjectrundestroyBeanNameAware是 Spring 框架的一个核心接口,主要的用途就是可以获取bean的名称,其触发点在Bean后处理器的BeforeInitialization方法之前,实现BeanNameAware接口的对象会在Spring容器中被自动注入Bean的名称。/*** 由希望知道其在 bean 工厂中名称的 beans 实现的接口。原创 2024-09-02 17:58:27 · 1022 阅读 · 0 评论 -
Spring扩展点系列-InstantiationAwareBeanPostProcessor
spring容器中Bean的生命周期内所有可扩展的点的调用顺序扩展接口实现接口initializerefreshegetobjectrundestroy从源码中我们可以获知InstantiationAwareBeanPostProcessor接口除了具有父接口中的两个方法以外还自己额外定义了三个方法。所以该接口一共定义了5个方法,这5个方法的作用分别是原创 2024-09-02 14:41:10 · 963 阅读 · 0 评论 -
Spring扩展点系列-InitializingBean
这篇文章主要介绍了Spring中InitializingBean的使用详细解析,InitializingBean是Spring提供的拓展性接口,提供了属性初始化后的处理方法,它只有一个afterPropertiesSet方法,凡是继承该接口的类,在bean的属性初始化后都会执行该方法。原创 2024-08-29 15:05:00 · 511 阅读 · 0 评论 -
Spring扩展点系列-@PostConstruct
spring的Bean在创建的时候会进行初始化,而初始化过程会解析出@PostConstruct注解的方法,并反射调用该方法。@PostConstruct 的使用和特点只有一个非静态方法能使用此注解;被注解的方法不得有任何参数;被注解的方法返回值必须为void;被注解的方法不得抛出已检查异常;被注解的方法只会被执行一次;原创 2024-08-29 18:12:10 · 530 阅读 · 0 评论 -
Spring扩展点系列-SmartInitializingSingleton
SmartInitializingSingleton是spring的扩展点之一,主要用于在Spring容器启动完成时进行扩展操作,其只有一个方法afterSingletonsInstantiated()。触发的关键点是在单例预实例化阶段结束时调用,保证所有常规单例 bean 都已创建。接口的bean的作用域必须是单例才会触发。spring容器中Bean的生命周期内所有可扩展的点的调用顺序扩展接口实现接口initializerefreshegetobjectrundestroy。原创 2024-08-30 14:49:39 · 879 阅读 · 0 评论