BeanFactoryPostProcessor接口简介

Spring容器在初始化之前,允许我们自定义扩展改变bean的定义,BeanFactoryPostProcessor正好可以满足我们的要求,BeanFactoryPostProcessor接口的postProcessBeanFactory方法中,我们可以修改bean的定义信息,例如修改属性的值,修改bean的scope为单例或者多例。

BeanFactoryPostProcessor
bean工厂的bean属性处理容器,说通俗一些就是可以管理我们的bean工厂内所有的beandefinition(未实例化)数据,可以随心所欲的修改属性。

使用方法:

@Component
public class MyBeanFactoryPostProcessor implements BeanFactoryPostProcessor {@Overridepublic void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException {AbstractBeanDefinition abstractBeanDefinition = (AbstractBeanDefinition) beanFactory.getBeanDefinition("userService");MutablePropertyValues pv =  abstractBeanDefinition.getPropertyValues();pv.addPropertyValue("desc", "Desc is changed from bean factory post processor");abstractBeanDefinition.setScope(BeanDefinition.SCOPE_SINGLETON);}
}

详细BeanFactoryPostProcessor可参考spring4.1.8扩展实战之五:改变bean的定义(BeanFactoryPostProcessor接口)

Spring BeanFactoryPostProcessor接口详细使用相关推荐

  1. Spring BeanPostProcessor接口详细使用

    BeanPostProcessor接口简介 BeanPostProcessor也称为Bean后置处理器,它是Spring中定义的接口,在Spring容器的创建过程中(具体为Bean初始化前后)会回调B ...

  2. Spring源码分析之BeanPostProcessor接口和BeanFactoryPostProcessor接口方法不执行原因分析

    首先下面是我的Bean /** Copyright 2002-2017 the original author or authors.** Licensed under the Apache Lice ...

  3. Spring - BeanFactoryPostProcessor 扩展接口

    文章目录 Pre org.springframework.beans.factory.config.BeanFactoryPostProcessor 源码探究 1 是否实现BeanDefinition ...

  4. 3W 字的 Spring Boot 超详细总结

    点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 作者|CHEN川 http://www.jianshu.c ...

  5. springboot 获取bean_3W 字的 Spring Boot 超详细总结

    点击上方 Java后端,选择 设为星标 优质文章,及时送达 作者|CHEN川http://www.jianshu.com/p/83693d3d0a65 说明:前面有 4 个小节关于Spring的基础知 ...

  6. 换一种方式编写 Spring MVC 接口

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 1. 前言 通常我们编写 Spring MVC 接口的范 ...

  7. springbean的生命周期_spring bean生命周期(涵盖spring常用接口的载入)

    spring bean生命周期流程图: ​ ​​​ 其中包含了很多常用的接口,可以参考spring 常用接口: 下面写个例子证明下: 1.实现InitializingBean以及各个Aware接口 p ...

  8. BeanFactoryPostProcessor接口(容器后处理器)

    2019独角兽企业重金招聘Python工程师标准>>> 容器后处理器后处理容器本身.必须实现BeanFactoryPostProcessor接口,该接口中有如下方法: postPro ...

  9. android 如何从 3.55mm耳机接口 读取数据,USB Type-C接口详细定义,自制Type-C转3.5mm耳机转接线...

    原标题:USB Type-C接口详细定义,自制Type-C转3.5mm耳机转接线 Type-C 全称是USB Type-C 接口,是一种全新的 USB 接口形式.USB Type-C接口宽度8.3毫米 ...

最新文章

  1. 辞职之后的思考--激励
  2. oracle 复制表方法,(转)oracle数据库之间 表复制方法一(extent 方法)
  3. 云知声CEO黄伟:AI对产业的驱动不仅是创新更是颠覆
  4. 小程序promise封装post请求_微信小程序promise封装get/post请求
  5. hdu 4622 Reincarnation SAM模板题
  6. linux禁止普通用户切换,Linux系统如何禁止普通用户切换root?
  7. sparkstreaming(1)——实战
  8. 我很笨,请带着真心靠近我
  9. 电脑开机速度慢?新手试试以下这几个小技巧!
  10. frameset在html5下用什么代替_速速围观!冬至吃货地图来啦~蚌埠的吃货们,你们今天吃什么?...
  11. 浏览器用户脚本管理器(Tampermonkey)
  12. java数组及Arrays创建一个int 类型数组 数组元素由键盘录入,每次打印插入排序的结果(数组扩容,数组排序,键盘录入)
  13. mysql 大数据量插入遇到瓶颈 可行性方案探究
  14. Spring Security login
  15. 计算机签到程序,基于spring boot技术的签到管理系统的设计与实现计算机专业.doc...
  16. MFC 教程【8_MFC的进程和线程 】
  17. python bytes转int_Python学习进阶教程(11)—数值类型
  18. php写2048,原生js编写2048小游戏实例代码
  19. 绝对路径、相对路径详解
  20. MATLAB-阶乘运算

热门文章

  1. #pragma pack(push,1) #pragma pack(pop)
  2. 机房维护 网拷_机房维护一二三
  3. Debug Tensorflow: tensorflow.python.framework.errors_impl.InvalidArgumentError: OpKernel ‘ConcatV2‘
  4. erlang精要(2)-数制
  5. 【机器学习】图解机器学习中的 12 种交叉验证技术
  6. 【NLP】人大团队研究:面向文本生成,预训练模型进展梳理
  7. 【数据竞赛】这篇文章送给想要学习特征交叉的朋友。
  8. 【数据分析】《唐探3》口碑急转直下?看看影迷们到底都说了些啥
  9. 【机器学习基础】数学推导+纯Python实现机器学习算法25:CatBoost
  10. YOLOv4重磅发布,五大改进,二十多项技巧实验,堪称最强目标检测万花筒