阿亮随手记:动态条件生成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()

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

相关推荐
tq6J5Yg145 分钟前
windows10本地部署openclaw
前端·python
pl4H522a623 分钟前
Python 高效实现 Excel 转 TXT 文本
java·python·excel
稻草猫.28 分钟前
Spring事务操作全解析
java·数据库·后端·spring
ISkp3V8b434 分钟前
从 ReAct 到 Workflow:基于云端 API 构建事件驱动的智能体
前端·react.js·前端框架
星空1 小时前
前端--A_1--THML标签
前端
momin~1 小时前
MySQL-part2【MySQL表的增删改查】
数据库·mysql
她说..1 小时前
Java 基本数据类型高频面试题
java·开发语言·jvm·spring boot
y = xⁿ1 小时前
小林coding:HashMap的原理,ConcurrentHashMap实现逻辑,1.8并发是如何超越1.7的
java·面试·hash
GISer_Jing1 小时前
前端架构师视角:Electron 知识框架全解析(含实战+面试)
前端·面试·electron
全栈练习生1 小时前
封装数字滚动动画函数
前端