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

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

相关推荐
咩咩啃树皮6 小时前
第40篇:Vue3组件化开发精讲——组件拆分、复用、父子通信、工程化架构
java·前端·架构
阳光是sunny6 小时前
LangGraph中的Reducer是什么
前端·人工智能·后端
触底反弹6 小时前
一文搞懂 Tailwind CSS 弹性布局:从原理到实战
前端·css·html
阳光是sunny6 小时前
从链到图:LangGraph 入门基础全解析
前端·人工智能·后端
鱟鲥鳚6 小时前
Spring Boot 集成 LangChain4j:从模型调用到 Tool Calling(Demo版)
java·spring boot
小林ixn7 小时前
从 ??= 到 onKeyDown:一个 React 组件的“自我修养”
前端·javascript·react.js
广州灵眸科技有限公司7 小时前
xfce桌面触摸校准:基于灵眸科技EASY-EAl-Orin-Nano
数据库·windows·科技
REDcker7 小时前
显示分辨率标准对照详解
前端·网络·分辨率·显示·屏幕
এ慕ོ冬℘゜7 小时前
前端实战:jQuery 多条件联合搜索(标题模糊查询 + 日历时间段筛选)
前端·javascript·jquery
武子康7 小时前
Search Console Platform Properties 扩大 SEO 资产边界:从 Page Ranking 到 Topic Coverage(5 类误读边界 + 3 表数据层设计)
前端·人工智能·后端