前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >BeanFactoryPostProcessor解析

BeanFactoryPostProcessor解析

作者头像
爱撒谎的男孩
发布2019-12-31 15:51:36
4160
发布2019-12-31 15:51:36
举报
文章被收录于专栏:码猿技术专栏

文章目录

  1. 1. 简介
  2. 2. 实例
  3. 3. 原理
  4. 4. BeanDefinitionRegistryPostProcessor
  5. 5. MergedBeanDefinitionPostProcessor

简介

  • Spring IoC容器允许BeanFactoryPostProcessor在容器实例化任何bean之前读取bean的定义(配置元数据),并可以修改它。同时可以定义多个BeanFactoryPostProcessor,通过设置’order’属性来确定各个BeanFactoryPostProcessor执行顺序。

实例

代码语言:javascript
复制
@Component
public class MyBeanFactoryPostProcessor implements BeanFactoryPostProcessor {
    @Override
    public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException {
        System.out.println("MyBeanFactoryPostProcessor开始执行");
        String[] beanDefinitionNames = beanFactory.getBeanDefinitionNames();
        for (String name : beanDefinitionNames) {
            if (name.equals("user")){
                BeanDefinition beanDefinition = beanFactory.getBeanDefinition(name);
                MutablePropertyValues propertyValues = beanDefinition.getPropertyValues();
                propertyValues.add("name","Jack");
            }
        }
    }
}

原理

  • 在刷新ioc容器的方法org.springframework.context.support.AbstractApplicationContext.refresh中执行,如下图:

BeanDefinitionRegistryPostProcessor

  • 后续更新。。。。

MergedBeanDefinitionPostProcessor

  • 后续更新
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-06-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 简介
  • 实例
  • 原理
  • BeanDefinitionRegistryPostProcessor
  • MergedBeanDefinitionPostProcessor
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档