当前位置: 首页 > java >正文

对象注入 BeanFactory 的操作 BeanFactoryPostProcessor , Spring boot

先看代码

package biz.baijing.processor;import ...@Component
public class BaiJingBeanFactoryPostProcessor implements BeanFactoryPostProcessor {/*-1- beanFactory实例化后,-2- bean创建之前回调 . postProcessBeanFactory ,注册 BeanDefinition*/@Overridepublic void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException {// 注册一个 BaiJing 的 BeanDefinitionGenericBeanDefinition genBD = new GenericBeanDefinition();genBD.setBeanClass(BaijingDef.class);// public class DefaultListableBeanFactory extends AbstractAutowireCapableBeanFactory implements ConfigurableListableBeanFactory, BeanDefinitionRegistry, Serializable {// 强转DefaultListableBeanFactory defBF = (DefaultListableBeanFactory) beanFactory;// 完成注册defBF.registerBeanDefinition("baijingDef", genBD);}
}

输出结果

package biz.baijing;import ...@SpringBootApplication
public class BizBaiJingApplication
{public static void main( String[] args )ConfigurableApplicationContext run = SpringApplication.run(BizBaiJingApplication.class, args);System.out.println(run.getBean("baijingDef"));}
}

结果

biz.baijing.processor.BaijingDef@794366a5

关于 BaijingDef 

package biz.baijing.processor;// 这个类并没有注解,是「Manual」注入
public class BaijingDef {
}

ConfigurationClassPostProcessor
扫描启动类所在包下注解
ServletComponentRegisteringPostProcessor

扫描

@WebServlet

@WebFilter

@WebListener

CachingMetadataReaderFactoryPostProcessor

配置

ConfigurationClassPostProcessor

ConfigurationWarningsPostProcessor
配置警告通知

http://www.xdnf.cn/news/13876.html

相关文章:

  • 【信创-k8s】重磅-鲲鹏arm+麒麟V10离线部署k8s1.30+kubesphere4.1.3
  • 华为云Flexus+DeepSeek征文 | 当大模型遇见边缘计算:Flexus赋能低延迟AI Agent
  • Blender 简介 ~ 总结,如何下载Blend格式模型
  • 保姆级安装OpenResty教程
  • 视觉语言模型的“视而不见“
  • 【Linux仓库】进程状态【进程·叁】
  • 三步走实现嵌入式硬件与软件开发
  • 芯科科技携最新Matter演示和参考应用精彩亮相Matter开放日和开发者大会
  • Axios面试常见问题详解
  • ELK1日志分析系统
  • GD32 MCU的真随机数发生器(TRNG)
  • 商业智能BI 企业提高数据质量,应该怎样保障数据治理有效性
  • HTTP 协议各个主要版本的功能特点、核心原理、使用场景总结
  • 算法学习的规范性和可持续性
  • 关于亚马逊WOOT周末大促
  • 解锁嵌入式Linux开发:从入门到精通的通关秘籍
  • 第二节 基础核心概念-any、unknown、never的区别
  • 江苏艾立泰:跨国循环经济破解塑料行业环保困局
  • 网络编程之HTML语言基础
  • 五、PyQt6图形用户界面
  • 产品架构图详解:从概念分层到绘制方法详解(附模板)
  • 时间序列基础
  • 中文分词总结:历程、问题、发展
  • CMake指令: include、include_guard、include_directories、target_include_directories
  • 基于51单片机的无线电子密码锁
  • AI对话应用专题:6个高保真APP与网页原型案例详解(附工具指南)
  • Hibernate ORM框架开发指南
  • 同城O2O外卖跑腿源码功能开发详解:多商户、骑手调度、后台管理
  • 如何构建更好的香港服务器安全防护体系
  • @staticmethod 静态装饰器