阿亮随手记:动态条件生成Bean

继续记录一些琐碎的知识

如何根据条件生成Bean

  1. @Conditional 系列 ------ 按条件注册Bean
  • 作用:满足某个条件才创建Bean

  • 常用:

  • @ConditionalOnClass

  • @ConditionalOnBean

  • @ConditionalOnProperty

  • 自定义 Condition

  • 场景:根据配置、环境、依赖包存在与否,决定要不要创建Bean。

  1. @Configuration + @Bean + 配置属性 ------ 编程式创建
  • 从 application.yml 读取配置

  • 在 @Bean 方法里写代码逻辑

  • 满足条件就 new 对象返回,不满足就返回 null 或不创建

  1. @Profile ------ 按环境激活Bean
  • 根据 spring.profiles.active 决定是否生效

  • dev、test、prod 不同环境注册不同Bean

  1. 手动注册Bean(底层)
  • 通过 BeanDefinitionRegistry

  • 或 ApplicationContext.getAutowireCapableBeanFactory()

  • 代码里手动注册、动态创建

相关推荐
HelloReader8 小时前
Flutter 自适应布局一套代码适配手机和平板(十二)
前端
客卿1238 小时前
力扣--组合,子集--回溯法的再探索--总结回溯法
java·算法·leetcode
牛奶8 小时前
HTTP裸奔,HTTPS穿盔甲——它们有什么区别?
前端·http·https
梓言8 小时前
tailwindcss构建执行npm exec tailwindcss init -p 报错
前端
哈罗哈皮8 小时前
龙虾(openclaw)本地快速安装及使用教程
前端·aigc·ai编程
用户23115444530588 小时前
React中实现“双向绑定”效果的几种方式
前端
HelloReader8 小时前
Flutter Sliver 高级滚动打造 iOS 通讯录体验(十三)
前端
毕设源码-赖学姐8 小时前
【开题答辩全过程】以 高校晚查寝系统为例,包含答辩的问题和答案
java
xiaoye37088 小时前
某大厂java面试题二面20260313
java·开发语言·spring
Full Stack Developme8 小时前
Java -jar 命令 可以有哪些参数设置
java·开发语言·jar