springboot-自动配置流程
修改默认配置
@Bean@ConditionalOnBean(MultipartResolver.class) //容器中有这个类型组件@ConditionalOnMissingBean(name = DispatcherServlet.MULTIPART_RESOLVER_BEAN_NAME) //容器中没有这个名字 multipartResolver 的组件public MultipartResolver multipartResolver(MultipartResolver resolver) {//给@Bean标注的方法传入了对象参数,这个参数的值就会从容器中找。//SpringMVC multipartResolver。防止有些用户配置的文件上传解析器不符合规范// Detect if the user has created a MultipartResolver but named it incorrectlyreturn resolver;}
给容器中加入了文件上传解析器;
SpringBoot默认会在底层配好所有的组件。但是如果用户自己配置了以用户的优先
@Bean@ConditionalOnMissingBeanpublic CharacterEncodingFilter characterEncodingFilter() {}
总结:
- SpringBoot先加载所有的自动配置类 xxxxxAutoConfiguration
- 每个自动配置类按照条件进行生效,默认都会绑定配置文件指定的值。xxxxProperties里面拿。xxxProperties和配置文件进行了绑定
- 生效的配置类就会给容器中装配很多组件
- 只要容器中有这些组件,相当于这些功能就有了
- 定制化配置
- 用户直接自己@Bean替换底层的组件
- 用户去看这个组件是获取的配置文件什么值就去修改。
xxxxxAutoConfiguration ---> 组件 ---> xxxxProperties里面拿值 ----> application.properties
springboot-自动配置流程相关推荐
- springboot自动配置流程
- 注解不自动导包_玩转SpringBoot2.X:SpringBoot自动配置原理大揭秘
我们在使用SpringBoot的时候,是不是觉得特方便,根本不需要我们去配置什么端口号,应用名称,又比如我们再整合redis的时候,其实也不需要我们去指定端口号,IP,都会有默认的.是不是特方便.那么 ...
- SpringBoot 自动配置初探
SpringBoot 自动配置初探 @EnableAutoConfiguration @Import(AutoConfigurationImportSelector.class) selectImpo ...
- eclipse创建springboot项目_创建SpringBoot自动配置项目:Starter测试使用
Starter 测试使用 完成了 starter 项目的创建.发布之后,在 Spring Boot 项目中便可以直接使用了,下面简单介绍一-下 Starter 测试使用步骤,其中省略掉了 Spring ...
- 笑死,面试官又问我SpringBoot自动配置原理
面试官:好久没见,甚是想念.今天来聊聊SpringBoot的自动配置吧? 候选者:嗯,SpringBoot的自动配置我觉得是SpringBoot很重要的"特性"了.众所周知,Spr ...
- SpringBoot自动配置的原理及实现
SpringBoot的核心就是自动配置,自动配置是基于条件判断配置Bean 自动配置的源码在spring-boot-autoconfigure-2.2.13.RELEASE SpringBoot运行原 ...
- 这样讲 SpringBoot 自动配置原理,你应该能明白了吧
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 作者:你在我家门口 juejin.im/post/5ce5effb ...
- 【Spring框架家族】SpringBoot自动配置基本实现
SpringBoot自动配置-Condition_1 Condition是Spring4.0后引入的条件化配置接口,通过实现Condition接口可以完成有条件的加载相应的Bean @Conditio ...
- SpringBoot 自动配置
Springboot 自动配置 关注 "弋凡"(YiFan)微信公众号吧 记录简单笔记 做你的最爱 Springboot 是什么呐? 我管她是什么,好用就行了啊!!! spring ...
- SpringBoot实战之SpringBoot自动配置原理
www.cnblogs.com/leihuazhe/p- SpringBoot 自动配置主要通过 @EnableAutoConfiguration, @Conditional, @EnableConf ...
最新文章
- 智源沙龙 | 人工智能“3个30年”之后,下个30年将走向何方?
- sys.argv[]学习
- 介绍linux下Source Insight强大代码编辑器sublime_text_3
- ubuntu16.04 uninstall cuda 9.0 completely and install 8.0 instead
- 《云计算》学习笔记1
- php socket 握手,python Socket之客户端和服务端握手详细介绍
- mysql split 按 分割_mysql分割字符串split
- 现代软件工程 M1 博客要求
- 字段类型 sqoop_数据迁移工具Sqoop
- FastJSON、Gson和Jackson性能对比
- Java设计模式-装饰者设计模式
- oracle+性能负载查看,Oracle 11g数据库重放教程(二):负载重放基本实例讲解-性能调优-Oracle频道-中国IT实验室...
- mac 重启后提示 路径/System/installation/Packages/OSinstall.mpkg 似乎已缺失或已损坏,的解决方法
- 掘金夜谈-畅聊程序人生(笔记)
- 计算机办公操作excel,办公中常用的Word及Excel的方法有哪些
- 远程桌面由于以下原因无法连接远程计算机,win10远程桌面提示由于以下原因之一无法连接的解决教程...
- 点赋网络:网店详情页设计中应包含哪些设计元素
- windows内码、外码、字符映射表
- lan代表计算机什么,LAN 是什么
- 机器学习中的random_state参数
热门文章
- git 创建 本地 裸 仓库
- build.xml编译报错Specified VM install not found: type Standard VM, name jdk1.7.0_45
- 深入了解java虚拟机(JVM) 第六章 垃圾回收算法
- codeforces 689B Mike and Shortcuts 最短路
- 从上往下打印出二叉树的每个节点,同层节点从左至右打印
- 统计十进制数的二进制数1的个数
- Dx11DemoBase 基类(二) 初始化 DirectX11 的 4个基本步骤
- Linux 下hosts文件详解
- 用java分组查elasticsearch
- JavaScript君,请您坦诚相待~~~