Spring容器相关扩展点

// 如果容器内的bean实现了该接口,那么在容器中实例化任何其他bean之前都会回调该方法来对bean的配置元数据进行修改
public interface BeanFactoryPostProcessor {
    void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException;
}
// 通知接口
public interface Aware {

}

// 常用:
// - BeanNameAware
// - BeanFactoryAware
// - BeanClassLoaderAware
// - ApplicationContextAware
// 如果容器内的bean实现了该接口,那么在容器实例化该bean之后,执行初始化方法前/后调用
public interface BeanPostProcessor {
    // call before initMethod
    default Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException {
        return bean;
    }

    // call after initMethod
    default Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {
        return bean;
    }
}
// 如果bean实现了该接口,那么容器会在实例化完成后调用afterPropertiesSet方法进行一些初始化
public interface InitializingBean {
    void afterPropertiesSet() throws Exception;
}
// 如果bean实现了该接口,容器会在bean实例销毁之前调用destory方法,来完成一些回收工作
public interface DisposableBean {
    void destroy() throws Exception;
}

参考:https://www.cnblogs.com/v1haoge/p/6106456.html

Spring容器相关扩展点

原文地址:https://www.cnblogs.com/jieyuefeng/p/11701554.html

时间: 2025-01-05 07:28:48

Spring容器相关扩展点的相关文章

(一)Spring容器相关操作

一.spring事件 spring的事件有如下两个成员. 1.ApplicationEvent,容器事件,由容器发布 2.ApplicationListener 监听器,可以由容器中的任何监听器Bean担任 (1)先顶一个spring的容器事件: package cn.study.basic; import org.springframework.context.ApplicationEvent; public class EmailEvent extends ApplicationEvent

Spring Container的扩展点

转自: http://blog.csdn.net/kkdelta/article/details/5488430 Spring在解析完配置文件后,会调用一些callback方法,使用Spring的开发者可以通过提供这些callback方法达到对Spring Container的扩展. 1.   通过实现BeanPostProcessor来完成对某些Bean的一些定制, BeanPostProcessor定义了两个方法, postProcessBeforeInitialization(Object

Spring源码系列 — BeanDefinition扩展点

前言 前文介绍了Spring Bean的生命周期,也算是XML IOC系列的完结.但是Spring的博大精深,还有很多盲点需要摸索.整合前面的系列文章,从Resource到BeanDefinition,再到容器扩展点,最后到Bean创键,这个过程中无处不存在Spring预留的扩展口. 本篇文章介绍Spring的另一种扩展点:BeanDefinition扩展点,该扩展点是为处理BeanDefinition而设计.本文主要从以下几点分析: BeanDefinition扩展点的几种方式 BeanDef

spring之扩展点

               spring之扩展点 上篇文章,介绍了spring中bean的生命周期,并且在文章末尾提到,spring使用BeanPostProcessor接口来处理生命周期的回调.我们可以在初始化函数(init())中定制化一些逻辑.上述BeanPostProcessor就是spring扩展点(extension points).Spring及其灵活,一般情况下我们并不需要去继承ApplicationContext 去扩展功能,只需要使用spring提供的扩展接口,就可以刻sp

Spring开闭原则的表现-BeanPostProcessor扩展点-2

上接Spring提供的BeanPostProcessor的扩展点-1继续分析. 四.BeanPostProcessor接口及回调方法图  从图中我们可以看出一共五个接口,共十个回调方法,即十个扩展点,但我们之前的文章只分析了其中八个,另外两个稍候也会解析一下是干什么的. =================================================================== ==============================================

spring mvc 提供的几个常用的扩展点

Spring3 MVC结构简单,应了那句话简单就是美,而且他强大不失灵活,易于扩展,性能也很优秀.他和Struts2的思想还是一样的都有一个前端拦截器进行请求转发,只不过Struts2是filter,spring mvc是servlet,但spring mvc非常简单不论是学习还是使用. 这是spring3 mvc的核心流程图: SpirngMVC的第一个扩展点  HandlerMapping接口 -- 处理请求的映射 保存请求url到具体的方法的映射关系,,我们可以编写任意的HandlerMa

Servlet初始化相关问题,以及Spring容器初始化

一.Servlet初始化 ①Servlet在初始化的时候,是通过init(ServletConfig config) 或 init() 来执行的. ServletConfig 是一个接口,它怎样传递给他一格对象来进行初始化呢?其实,是这个对象是由 servlet 容器来实例化的,由容器产生一格 ServletConfig 的实现类的对象,然后传递给 Servlet ②我们有些时候可能在 Servlet 初始化时给它一些固定的配置参数,那么这些参数是怎样传递到 Servlet 呢?其实,我们在 w

[原创]java WEB学习笔记98:Spring学习---Spring Bean配置及相关细节:如何在配置bean,Spring容器(BeanFactory,ApplicationContext),如何获取bean,属性赋值(属性注入,构造器注入),配置bean细节(字面值,包含特殊字符,引用bean,null值,集合属性list map propert),util 和p 命名空间

本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱好者,互联网技术发烧友 微博:伊直都在0221 QQ:951226918 -----------------------------------------------------------------------------------------------------------------

Spring学习篇01-Spring容器相关基本概念

1.基本概念: 1.1.Spring容器 Spring容器它负责创建Bean,提供Bean,注入Bean的功能. 1.1.1 ApplicationContext 容器的上下文也就是容器工厂接口. 实现其接口的类有 ClassPathXmlApplicationContext FileSystemXmlApplicationContext WebApplicationContext:Web专用 1.1.2 BeanFactory:容器工厂面向Spring,很少使用 1.2.IOC Inversi