SpringBoot笔记--自动配置(高级内容)(上集)
原理分析
自动配置
Condition--增加的条件判断功能
来一个案例说明:

具体实现:
没有要求的话,就是这样的:
Config.java

User.java

SpringLearnApplication.java

结果:

加上要求(仅仅只是根据true和false判断)之后:


false,无法输出相应结果
需求1------导入jedis坐标之后,才能创建Bean;否则无法创建
类似于这样的一个坐标:

在我导入Jedis依赖坐标之后,获取相关信息,并进行判断,得到预期结果:


需求2------ 将类的判断定义为动态的,判断哪个字节码文件存在可以动态指定
新建一个注解类型的Java文件,相当于自定义注解类型,然后引用






需求3------通过注解属性指定值value后创建Bean(metadata)


切换内置web服务器
web内部自动引入Tomcat依赖,所以想要更换容器的话,就需要先将Tomcat依赖排除,然后再将需要的容器导入
什么也不干,使用的是Tomcat运行8081的端口:

排除一下,再另外引入一下:

实现更换:

SpringBoot笔记--自动配置(高级内容)(上集)的更多相关文章
- springboot mvc自动配置(三)初始化mvc的组件
所有文章 https://www.cnblogs.com/lay2017/p/11775787.html 正文 在springboot mvc自动配置的时候,获得了DispatcherServlet和 ...
- 关于SpringBoot的自动配置和启动过程
一.简介 Spring Boot简化了Spring应用的开发,采用约定大于配置的思想,去繁从简,很方便就能构建一个独立的.产品级别的应用. 1.传统J2EE开发的缺点 开发笨重.配置繁多复杂.开发效率 ...
- Springboot MVC 自动配置
Springboot MVC 自动配置 官方文档阅读 https://docs.spring.io/spring-boot/docs/current/reference/html/web.html#w ...
- springboot(六)自动配置原理和@Conditional
官方参考的配置属性:https://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/#common-appl ...
- springboot mvc自动配置(一)自动配置DispatcherServlet和DispatcherServletRegistry
所有文章 https://www.cnblogs.com/lay2017/p/11775787.html 正文 springboot的自动配置基于SPI机制,实现自动配置的核心要点就是添加一个自动配置 ...
- 面试题: SpringBoot 的自动配置原理
个人博客网:https://wushaopei.github.io/ (你想要这里多有) 3.Spring Boot 的自动配置原理 package com.mmall; import org. ...
- spring-boot spring-MVC自动配置
Spring MVC auto-configuration Spring Boot 自动配置好了SpringMVC 以下是SpringBoot对SpringMVC的默认配置:==(WebMvcAuto ...
- SpringBoot的自动配置
1.根据条件来装配bean,SpringBoot的自动配置,根据条件进行自动配置. 首先创建一个接口,如下所示: package com.bie.encoding; /** * * @Descript ...
- 【SpringBoot】自动配置
一.取值 1.1 @Value 1.2 ConfigurationProperties 二.导入配置文件 2.1 @PropertySource 三.配置文件的加载 3.1 默认的加载顺序 3.2 外 ...
- SpringBoot学习(六)-->SpringBoot的自动配置的原理
Spring Boot的自动配置的原理 Spring Boot在进行SpringApplication对象实例化时会加载META-INF/spring.factories文件,将该配置文件中的配置载入 ...
随机推荐
- 如何修改Mac文件默认打开方式?
熟悉Mac电脑的用户都知道,在 OS X 中,Finder 存储的文件总会以指定的某个默认应用程序打开,比如图片类型的文件默认以「预览」打开.但由于经常需要使用图片编辑工具 PS打开图片类型的文件,每 ...
- Jenkins+Appium+Pytest+Allure集成
前提: 已经部署好了Jenkins环境,包括工具配置等 我的环境: Jenkins服务由安装在虚拟机上的Docker启动 Appium相关运行环境安装在虚拟机所在的主机上windows 方式:在Jen ...
- 【ADB命令】安装app
在电脑上安装以下指令 adb install app的文件位置
- python中json的四个方法总结dumps、dump、loads、load
json的四个方法总结dumps.dump.loads.load dump介绍 1 json .作用:将python内置类型序列化为json对象后写入文件.参数:要存储的数据以及可以用于存储的文件对象 ...
- go的相关包time、os、rand、fmt
time 1.time包 2.time.Time类型, 用来表示时间 3.取当前时间, now := time.Now() 4.time.Now().Day(),time.Now().Minute() ...
- vue+高德地图配置及添加marker
1.首先在index.html中引入高德地图 <script type="text/javascript" src="https://webapi.amap.com ...
- Vue+Element UI一个下拉框传字典值和对应字典Label
<el-select @change="getDeptName" v-model="form.deptCode"> <el-option v- ...
- redis每天生成自增流水号(001、002...)
原理:利用redis的RedisAtomicLong类实现该功能:让其每天第一次放置一个新的自增的值(一天过期)然后和每天的日期相加就可以了例子: 20180901 + 001 ;当天就是 20180 ...
- mysql语句优化总结
Sql语句优化和索引 1.Innerjoin和左连接,右连接,子查询 A. inner join内连接也叫等值连接是,left/rightjoin是外连接. SELECT A.id,A.nam ...
- Qt回车键提交文本代码
QTextEdit 文本框中 回车键提交文本,Ctrl+回车键实现换行的代码: void QTextEdit::keyPressEvent(QKeyEvent * e) { e->ignore( ...