原理分析

自动配置

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笔记--自动配置(高级内容)(上集)的更多相关文章

  1. springboot mvc自动配置(三)初始化mvc的组件

    所有文章 https://www.cnblogs.com/lay2017/p/11775787.html 正文 在springboot mvc自动配置的时候,获得了DispatcherServlet和 ...

  2. 关于SpringBoot的自动配置和启动过程

    一.简介 Spring Boot简化了Spring应用的开发,采用约定大于配置的思想,去繁从简,很方便就能构建一个独立的.产品级别的应用. 1.传统J2EE开发的缺点 开发笨重.配置繁多复杂.开发效率 ...

  3. Springboot MVC 自动配置

    Springboot MVC 自动配置 官方文档阅读 https://docs.spring.io/spring-boot/docs/current/reference/html/web.html#w ...

  4. springboot(六)自动配置原理和@Conditional

    官方参考的配置属性:https://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/#common-appl ...

  5. springboot mvc自动配置(一)自动配置DispatcherServlet和DispatcherServletRegistry

    所有文章 https://www.cnblogs.com/lay2017/p/11775787.html 正文 springboot的自动配置基于SPI机制,实现自动配置的核心要点就是添加一个自动配置 ...

  6. 面试题: SpringBoot 的自动配置原理

    个人博客网:https://wushaopei.github.io/    (你想要这里多有) 3.Spring Boot 的自动配置原理 package com.mmall; import org. ...

  7. spring-boot spring-MVC自动配置

    Spring MVC auto-configuration Spring Boot 自动配置好了SpringMVC 以下是SpringBoot对SpringMVC的默认配置:==(WebMvcAuto ...

  8. SpringBoot的自动配置

    1.根据条件来装配bean,SpringBoot的自动配置,根据条件进行自动配置. 首先创建一个接口,如下所示: package com.bie.encoding; /** * * @Descript ...

  9. 【SpringBoot】自动配置

    一.取值 1.1 @Value 1.2 ConfigurationProperties 二.导入配置文件 2.1 @PropertySource 三.配置文件的加载 3.1 默认的加载顺序 3.2 外 ...

  10. SpringBoot学习(六)-->SpringBoot的自动配置的原理

    Spring Boot的自动配置的原理 Spring Boot在进行SpringApplication对象实例化时会加载META-INF/spring.factories文件,将该配置文件中的配置载入 ...

随机推荐

  1. Software--电商平台--Module 5 Order & Payment

    2018-01-10  14:11:30 电商平台 订购和支付 模块 一: 整体示意图 二:构建一个框架来处理 领域模型内部发生的事情--领域事件 IDomainEvent 标识模型中的 Domain ...

  2. OWASP ZAP基本使用教程(Kali版)

    简介OWASP ZAP是一款非常好用的测试工具,也是Kali里自带的工具,一键就可以扫描多种不同类型的漏洞,最好用的一点就是他可以自动爬取子域名.非常的快捷方便下面我就给大家带来OWASP ZAP的基 ...

  3. Python基础数据类型-Tuple(元组)

    a = () b = (1) # 不是元组类型,是int型 c = (1,) # 只有一个元素的时候,要加逗号才能表示是元组 d = (1, 2, 3, 4, 5, 6, 1) print(type( ...

  4. C#TimeSpan时间差转换成分钟和秒数

    public Form1() { InitializeComponent(); aa = DateTime.Now.ToString(); } string aa; private void butt ...

  5. 【NumPy】Python利用linspace进行数据采样

    情景 假设有一堆长度为1000的数据,我现在只想要其中800个并且要求整体趋势一样,那就可以试试使用linspace进行等间距的采样. 简介 linspace(start, stop, num=50, ...

  6. Unity C#代码入门

    Unity C#代码入门 1. 脚本基本结构 1.1 unity生成的模板 using System.Collections; using System.Collections.Generic; us ...

  7. 【python】第二模块 步骤一 第三课、数据库的基本查询

    第三课.数据库的基本查询 一.课程介绍 1.1 课程介绍 学习目标 数据的简单查询 无条件查询记录,字段的计算和字段的别名 数据的高级查询 数据排序.分页.去除重复记录 数据的有条件查询 条件表达式: ...

  8. mac 安装 nginx 流程,并解决前端跨域问题

    mac 安装 nginx 流程 首先mac安装brew包管理工具: /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN ...

  9. binlog2sql 实战心得

    原创:binlog2sql在GitHub的地址:https://github.com/danfengcao/binlog2sql 作者:danfengcao 功能:从MySQL binlog解析出你要 ...

  10. Springboot中@Autowired为何获取了我们没有注入的Bean?

    Springboot中@Autowired为何获取了我们没有注入的Bean? 在做仿牛客网项目的时候,有这样一段话: @Autowired private TemplateEngine templat ...