栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

BeanPostProcessor 和 InstantiationAwareBeanPostProcessor

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

BeanPostProcessor 和 InstantiationAwareBeanPostProcessor

1.BeanPostProcessor 是一个接口 ,需要在 spring环境下才能使用 ,spring boot项目也是可以的 。 插一嘴,实现它的类需要 被spring容器扫描才能生效,比如加个@component 。
2.实现它以后,在jdk8时,可以选择实现两个接口,这两个接口一个是在类的生命周期中的初始化前,一个是在初始化后执行

postProcessBeforeInitialization(Object bean, String beanName)
postProcessAfterInitialization(Object bean, String beanName)

3.这两接口与aop很像,甚至在postProcessAfterInitialization后置处理器里面可以改变返回的bean,对bean做属性赋值或者欢类型都可以。
bean就是产生的bean对象,beanName就是这个bean的名字

    在初始化前,还有个步骤叫实例化,它是通过反射构造方法来得到一个实例化的对象。而 BeanPostProcessor 同样是可以对它进行操作的 。
    我们需要实现 InstantiationAwareBeanPostProcessor 接口,这个接口是继承了 BeanPostProcessor 的 。实现 InstantiationAwareBeanPostProcessor 接口后可实现两个方法: Object postProcessBeforeInstantiation(Class beanClass, String beanName)和
    boolean postProcessAfterInstantiation(Object bean, String beanName) 。

实例化前的方法大致与初始化前类似,而实例化后有所不同。
postProcessAfterInstantiation 的返回值代表后续 还走不走spring 的后续逻辑(属性填充,初始化) false代表不走 ,true 代表继续走

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/713357.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号