导图社区 Spring可扩展接口
Spring的几个可扩展接口,通过这些接口可以再bean创建前后对bean进行修改
社区模板帮助中心,点此进入>>
互联网9大思维
组织架构-单商户商城webAPP 思维导图。
域控上线
python思维导图
css
CSS
计算机操作系统思维导图
计算机组成原理
IMX6UL(A7)
考试学情分析系统
Spring可扩展接口
1.FactoryBean
AOP的基础bean,spring在IOC初始化的时候,一般的bean都是直接调用构造方法,如果该bean实现了FactroyBean接口则会调用该bean的getObject方法获取bean,这也是Spring使用此接口构造AOP的原因,在IOC调用此方法时返回一个代理,完成AOP代理的创建
2.BeanPostProcessor
在每个bean初始化完成前后做操作
方法:postProcessBeforeInitialization在bean初始化之前调用
方法:postProcessAfterInitialization在bean初始化之后调用
3.InstantiationAwareBeanPostProcessor
在bean实例化前后做一些操作,继承BeanPostProcessor,增加了3个方法
Object postProcessBeforeInstantiation(Class<?> beanClass, String beanName)
实例化之前调用
boolean postProcessAfterInstantiation(Object bean, String beanName)
实例化之后调用
PropertyValues postProcessPropertyValues(PropertyValues pvs, PropertyDescriptor[] pds, Object bean, String beanName)
在处理bean属性之前调用
实例化在初始化之前
4.Aware
自定义的主键想要使用spring容器底层的一些组件(ApplicationContext,BeanFactory);自定义的组件实现xxxAware;在创建对象的时候,会调用接口规定的方法注入相关组件
1.BeanNameAware
2.ApplicationContextAware
3.BeanFactoryAware
4.EmbeddedValueResolverAware
5.BeanFactoryPostProcessor
Spring允许在bean创建之前,读取bean的元属性,并根据自己的需求对元属性进行修改,如将bean的scope从sinogleton改变为prototype
void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory)
6.InitializingBean
继承该接口的类,在初始化bean之前会执行afterPropertiesSet()方法
void afterPropertiesSet()
7.DisposableBean
继承该接口的类,在销毁bean之前会调用destroy()方法
void destroy()