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

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

相关推荐
dfdfadffa几秒前
如何创建仅在首次订阅时执行一次计算的 RxJS 懒加载 Observable
jvm·数据库·python
光影少年1 分钟前
前端SSR和ssg区别
前端·vue.js·人工智能·学习·react.js
Irene19912 分钟前
Oracle 中:为什么 from 子查询后面需要一个别名
数据库·oracle
counting money2 分钟前
Spring框架基础(依赖注入-半注解形式)
java·后端·spring
CN-Dust2 分钟前
【C++】for循环例题专题
java·c++·算法
m0_624578594 分钟前
SQL分组后如何计算移动平均值_利用窗口函数AVG配合ROWS
jvm·数据库·python
广州华水科技6 分钟前
北斗形变监测传感器在水库安全监测中的应用与发展
前端
2401_8242226911 分钟前
如何修复待办事项列表无法添加任务的 JavaScript 错误
jvm·数据库·python
染夕陌木15 分钟前
RPC/服务调用框架中“方法无法应用到给定类型”错误的通用排查指南
java·ide·rpc
地球资源数据云15 分钟前
1900-2023年中国物种分布点位矢量数据集
大数据·数据结构·数据库·数据仓库·人工智能