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注解相关推荐

  1. SpringBoot conditional注解和自定义conditional注解使用

    conditional注解是Springboot starter的基石,自动装配的时候会根据条件确定是否需要注入这个类. 含义:基于条件的注解. 作用:根据是否满足某个特定条件来决定是否创建某个特定的 ...

  2. @data注解_聊一下@Conditional注解系列的作用

    欢迎大家关注我的微信公众号,码猿Bug,或者扫描下方二维码,有需要资料的可以随时联系我 http://weixin.qq.com/r/qig7I1LEOw9ErRZA9324 (二维码自动识别) 今天 ...

  3. Spring Boot2.x-06Spring Boot基础-使用@Conditional注解根据特定的条件装配bean

    文章目录 概述 例子 Step1 实现Condition接口,重写matches方法 Step2 在对应的@Bean上使用@Conditional注解 测试 其他相关的注解 概述 假设在某些特定的场景 ...

  4. 一篇文章教你读懂Spring @Conditional注解

    文章目录 一.Conditional简介 二.Conditional用法 1.Conditonal注解作用在方法上 2.Conditonal注解作用在类上 3.类上注入多个条件类 三.Conditio ...

  5. Spring系列(六):@Conditional注解用法介绍

    今天给大家介绍@Conditional懒加载注解用法,希望对大家能有所帮助! 1.@Conditional注解介绍 @Conditional是Spring4版本新提供的一种注解,它的作用是按照设定的条 ...

  6. Spring Boot @Conditional 注解

    Spring Boot @Conditional注解 @Conditional是Spring4新提供的注解,它的作用是按照一定的条件进行判断,满足条件的才给容器注册Bean. @Conditional ...

  7. @Profile注解与@Conditional注解

    @Profile注解:是spring为我们提供的可以根据当前环境,动态的激活和切换一系列组件的功能. @Conditional:按照一定的条件进行判断,满足条件则给容器中注入bean @Profile ...

  8. 12、常见Conditional注解源码解析(ok)

    参考资料:彻底搞定 Java 注解 Spring Boot中所有的@Conditional 注解如下: Conditional (o.s.context.annotation)|-Conditiona ...

  9. 【译】Spring 4.0带来的@Conditional注解

    Spring 4.0带来的@Conditional注解 本文会接触spring 4的新功能:@Conditional注解.在之前的spring版本中,你处理conditions只有以下两个方法: 在3 ...

  10. SpringBoot--自动装配原理详解及应用之Conditional注解

    SpringBoot作为当今开发的主流框架,作为一名java开发是不可能的不了解的,这个东西是典型的用起来很简单,但是了解到原理之后就会不自觉地感叹,真TMNB! 本文主要讲解其自动装配的原理,以及我 ...

最新文章

  1. 系统如何安装到租的服务器,租用服务器后,检查及环境配置步骤
  2. hadoop数据流转过程分析
  3. ProGit-读书简记
  4. Java设计模式——工厂模式
  5. python的rsa公钥解密方法
  6. 硬核Redis总结,看这篇就够了!
  7. CSS两栏布局之右栏布局
  8. Springboot+WebSocket
  9. 企业IT部门主管告诉你,DevOps给我们带来了这些变化
  10. mysql连网安装和断网安装的区别_Linux 断网安装MySQL5.x操作步骤
  11. 如何知道一个exe或者dll是用什么语言编译的
  12. 浅谈聚类分析MATLAB实现
  13. 使用PaddlePaddle实现车牌识别
  14. 互联网dmz区_端口映射与DMZ设置方法
  15. 模拟实现库函数之字符串函数
  16. 2021-2022年度“扣哒杯”AI世青赛初赛落下帷幕
  17. 第三章 java集合
  18. 对互联网产品运营的理解
  19. 苹果怎么设置下载软件不要密码?手机技巧分享
  20. 购物卷1000元买多种东西,刚好用完的解决方案(C语言实现)

热门文章

  1. Terrain 算法整理。基本常识。
  2. IH8SN0W公布6.1.3-6.1.5完美越狱源代码
  3. 深度剖析nullable、__nullable、_Nullable、_Nonnull、null_resettable
  4. iOS NSDate,NSDateFormatter,NSTimeZone,NSTimeInterval
  5. python 这种编程语言_这个可能打败Python的编程语言,正在征服科学界
  6. orign软件学习资源梳理
  7. “小爱同学”商标遭抢注,小米上诉被驳回
  8. libgdx 3D 渲染优化
  9. linux两个文件夹内容同步,如何使用命令行工具同步两个文件夹?
  10. n的阶乘你会吗?是递归呀