关于ConditionalOnClass注解】的更多相关文章

大家好,我是"良工说技术". 今天给大家带来的是springboot中的@ConditionalOnClass注解的用法.上次的@ConditionalOnBean注解还记得吗? 一.@ConditionalOnClass注解初始 看下@CodidtionalOnClass注解的定义, 需要注意的有两点, 该注解可以用在类及方法上:类指的是标有@Configuration的类,方法是标有@Bean的方法: 该注解使用了@Conditional注解标记:这是重点 看到这里,有小伙伴会疑惑…
今天我们来总结下Conditional注解的使用. Conditional注解 增加配置类Config package condition; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Conditional; import org.springframework.context.annotation.Configuration; /** * @…
自动配置隐含两层含义,要搞清楚 上帝让程序员的发量减少,是为了让他变得更聪明,如果有一天聪明到了极点,那就是绝顶聪明. 据说在大脑高速运转下,这样更有利于散热,不至于核心温度过高而产生告警. 聪明的大脑是用来思考的,现在就来深入思考和分析下自动配置. 自动配置包含两层意思,一个是配置,一个是自动.这不废话嘛. 配置存在的一个前提是,要有选择才行,如果没得选择,就不用谈配置了. 比如十几年前读大学时,无论是回家还是去学校,都只能坐最便宜的硬座.因为没得选择. 现在情况就不一样了,高铁.动车.飞机都…
前言 之前在分析spring boot 源码时导出可见@ConditionalOnBean 之类的注解,那么它到底是如何使用的以及其工作流程如何,我们这里就围绕以下几点来分析: @Conditional系列与Condition的关系:@ConditionalXxx是注解,XxxCondition是对前面注解的对应处理类. @Conditional与Condition的源码分析 总结 一.@Conditional系列与Condition的关系 @ConditionalXxx是注解,XxxCondi…
官方提供的常用条件注解 因为Spring的核心是基于bean的,所以这些条件注解主要是影响bean的注册. 因为注册的bean不同了,最后对外呈现的行为就不同了.不就是自动配置了. 一.最常用的应该是@Profile注解了 根据不同的环境可以注册不同的bean,如下图01: 首先,不激活任何环境,执行一下,结果如下图02:   可以看到,没有激活任何环境,所以默认是default.因此Default类就被注册了. 然后,激活一下prod环境,在IDE里设置一下,如下图03:   再次运行一下,结…
注:该源码分析对应SpringBoot版本为2.1.0.RELEASE 1 前言 本篇接 如何分析SpringBoot源码模块及结构?--SpringBoot源码(二) 上一篇分析了SpringBoot源码结构及各个模块pom之间的关系后,那么此篇开始就开始解开SpringBoot新特性之一--自动配置的神秘面纱了.因为SpringBoot自动配置原理是基于其大量的条件注解ConditionalOnXXX,因此,本节我们先来撸下Spring的条件注解的相关源码. 2 SpringBoot的派生条…
本章内容 自定义属性快速入门 外化配置 自动配置 自定义创建 Starter 组件 摘录:读书是读完这些文字还要好好用心去想想,写书也一样,做任何事也一样 图 2 第二章目录结构图 第 2 章 Spring Boot 配置 Spring Boot 配置,包括自动配置和外化配置.本章先实现自定义属性工程,将属性外化配置在 application.properties 应用配置文件,然后在工程中获取该属性值.接着会详细介绍属性的获取方式.外化配置和自动配置.最后会介绍利用自动配置自定义 Start…
Spring boot如何自动加载 对于Springboot的ConditionalOnClass注解一直非常好奇,原因是我们的jar包里面可能没有对应的class,而使用ConditionalOnClass标注的Configuration类又import了这个类,那么如果想加载Configuration类,就会报ClassNotFoundException,那么又如何取到这个类上的注解呢 SpringFactoriesLoader获取"META-INF/spring.factories&quo…
该系列文章是本人在学习 Spring 的过程中总结下来的,里面涉及到相关源码,可能对读者不太友好,请结合我的源码注释 Spring 源码分析 GitHub 地址 进行阅读. Spring 版本:5.1.14.RELEASE 在开始阅读 Spring AOP 源码之前,需要对 Spring IoC 有一定的了解,可查看我的 <死磕Spring之IoC篇 - 文章导读> 这一系列文章 了解 AOP 相关术语,可先查看 <Spring AOP 常见面试题) > 这篇文章 该系列其他文章请…
该系列文章是笔者在学习 Spring Boot 过程中总结下来的,里面涉及到相关源码,可能对读者不太友好,请结合我的源码注释 Spring Boot 源码分析 GitHub 地址 进行阅读 Spring Boot 版本:2.2.x 最好对 Spring 源码有一定的了解,可以先查看我的 <死磕 Spring 之 IoC 篇 - 文章导读> 系列文章 如果该篇内容对您有帮助,麻烦点击一下"推荐",也可以关注博主,感激不尽~ 该系列其他文章请查看:<精尽 Spring B…