Conditional注解
Conditional 注解
一、作用
定义某个条件,只有当条件满足时配置才起作用
二、自定义条件
public class MyConditional implements Condition {@Overridepublic boolean matches(ConditionContext context,AnnotatedTypeMetadata metadata) {if(xxx条件) {return true;}return false;}
}
在需要条件的地方例如 Service 中
@Conditional(MyConditional.class)
@Service
public class Service {public void do() {//do something}
}
这时,若 “xxx条件”没有满足,则 Service 不会作为一个 Bean 被创建和注册。可以定义多个 Condition ,使用 @Conditional(xxx.class,xxx2.class) ,同时返回 ture 才会进行 Bean 的注册和创建,判断从前往后按顺序执行。
三、 自动化配置中的条件化注解
条件化注解 | 配置生效条件 |
---|---|
@ConditionalOnBean | 配置类某个特定的 Bean |
@ConditionalOnMissingBean | 没有配置特定的 Bean |
@ConditionalOnClass | Classpath 里有指定的类 |
@ConditionalOnMissingClass | Classpath 里没有指定的类 |
@ConditionalOnExpression | 给定的 Spring Expression Language(SpEL) 表达式计算结果为true |
@ConditionalOnJava | Java 的版本匹配特定值或一个范围值 |
@ConditionalOnJndi | 参数中给定的 JNDI 位置必须存在一个,如果没有给参数,则要有 JNDI InitialContext |
@ConditionalOnProperty | 指定的配置属性要有一个明确的值 |
@ConditionalOnResource | Classpath 里有指定的资源 |
@ConditionalOnWebApplication | 这是一个 Web 应用程序 |
tionalOnWebApplication | 这是一个 Web 应用程序 |
@ConditionalOnNotWebApplication | 这不是一个 Web 应用程序 |
Conditional注解相关推荐
- SpringBoot conditional注解和自定义conditional注解使用
conditional注解是Springboot starter的基石,自动装配的时候会根据条件确定是否需要注入这个类. 含义:基于条件的注解. 作用:根据是否满足某个特定条件来决定是否创建某个特定的 ...
- @data注解_聊一下@Conditional注解系列的作用
欢迎大家关注我的微信公众号,码猿Bug,或者扫描下方二维码,有需要资料的可以随时联系我 http://weixin.qq.com/r/qig7I1LEOw9ErRZA9324 (二维码自动识别) 今天 ...
- Spring Boot2.x-06Spring Boot基础-使用@Conditional注解根据特定的条件装配bean
文章目录 概述 例子 Step1 实现Condition接口,重写matches方法 Step2 在对应的@Bean上使用@Conditional注解 测试 其他相关的注解 概述 假设在某些特定的场景 ...
- 一篇文章教你读懂Spring @Conditional注解
文章目录 一.Conditional简介 二.Conditional用法 1.Conditonal注解作用在方法上 2.Conditonal注解作用在类上 3.类上注入多个条件类 三.Conditio ...
- Spring系列(六):@Conditional注解用法介绍
今天给大家介绍@Conditional懒加载注解用法,希望对大家能有所帮助! 1.@Conditional注解介绍 @Conditional是Spring4版本新提供的一种注解,它的作用是按照设定的条 ...
- Spring Boot @Conditional 注解
Spring Boot @Conditional注解 @Conditional是Spring4新提供的注解,它的作用是按照一定的条件进行判断,满足条件的才给容器注册Bean. @Conditional ...
- @Profile注解与@Conditional注解
@Profile注解:是spring为我们提供的可以根据当前环境,动态的激活和切换一系列组件的功能. @Conditional:按照一定的条件进行判断,满足条件则给容器中注入bean @Profile ...
- 12、常见Conditional注解源码解析(ok)
参考资料:彻底搞定 Java 注解 Spring Boot中所有的@Conditional 注解如下: Conditional (o.s.context.annotation)|-Conditiona ...
- 【译】Spring 4.0带来的@Conditional注解
Spring 4.0带来的@Conditional注解 本文会接触spring 4的新功能:@Conditional注解.在之前的spring版本中,你处理conditions只有以下两个方法: 在3 ...
- SpringBoot--自动装配原理详解及应用之Conditional注解
SpringBoot作为当今开发的主流框架,作为一名java开发是不可能的不了解的,这个东西是典型的用起来很简单,但是了解到原理之后就会不自觉地感叹,真TMNB! 本文主要讲解其自动装配的原理,以及我 ...
最新文章
- 系统如何安装到租的服务器,租用服务器后,检查及环境配置步骤
- hadoop数据流转过程分析
- ProGit-读书简记
- Java设计模式——工厂模式
- python的rsa公钥解密方法
- 硬核Redis总结,看这篇就够了!
- CSS两栏布局之右栏布局
- Springboot+WebSocket
- 企业IT部门主管告诉你,DevOps给我们带来了这些变化
- mysql连网安装和断网安装的区别_Linux 断网安装MySQL5.x操作步骤
- 如何知道一个exe或者dll是用什么语言编译的
- 浅谈聚类分析MATLAB实现
- 使用PaddlePaddle实现车牌识别
- 互联网dmz区_端口映射与DMZ设置方法
- 模拟实现库函数之字符串函数
- 2021-2022年度“扣哒杯”AI世青赛初赛落下帷幕
- 第三章 java集合
- 对互联网产品运营的理解
- 苹果怎么设置下载软件不要密码?手机技巧分享
- 购物卷1000元买多种东西,刚好用完的解决方案(C语言实现)
热门文章
- Terrain 算法整理。基本常识。
- IH8SN0W公布6.1.3-6.1.5完美越狱源代码
- 深度剖析nullable、__nullable、_Nullable、_Nonnull、null_resettable
- iOS NSDate,NSDateFormatter,NSTimeZone,NSTimeInterval
- python 这种编程语言_这个可能打败Python的编程语言,正在征服科学界
- orign软件学习资源梳理
- “小爱同学”商标遭抢注,小米上诉被驳回
- libgdx 3D 渲染优化
- linux两个文件夹内容同步,如何使用命令行工具同步两个文件夹?
- n的阶乘你会吗?是递归呀