springboot-自动配置流程
生活随笔
收集整理的這篇文章主要介紹了
springboot-自动配置流程
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
修改默認(rèn)配置
@Bean@ConditionalOnBean(MultipartResolver.class) //容器中有這個(gè)類型組件@ConditionalOnMissingBean(name = DispatcherServlet.MULTIPART_RESOLVER_BEAN_NAME) //容器中沒(méi)有這個(gè)名字 multipartResolver 的組件public MultipartResolver multipartResolver(MultipartResolver resolver) {//給@Bean標(biāo)注的方法傳入了對(duì)象參數(shù),這個(gè)參數(shù)的值就會(huì)從容器中找。//SpringMVC multipartResolver。防止有些用戶配置的文件上傳解析器不符合規(guī)范// Detect if the user has created a MultipartResolver but named it incorrectlyreturn resolver;} 給容器中加入了文件上傳解析器;SpringBoot默認(rèn)會(huì)在底層配好所有的組件。但是如果用戶自己配置了以用戶的優(yōu)先
@Bean@ConditionalOnMissingBeanpublic CharacterEncodingFilter characterEncodingFilter() {}總結(jié):
- SpringBoot先加載所有的自動(dòng)配置類 xxxxxAutoConfiguration
- 每個(gè)自動(dòng)配置類按照條件進(jìn)行生效,默認(rèn)都會(huì)綁定配置文件指定的值。xxxxProperties里面拿。xxxProperties和配置文件進(jìn)行了綁定
- 生效的配置類就會(huì)給容器中裝配很多組件
- 只要容器中有這些組件,相當(dāng)于這些功能就有了
- 定制化配置
-
- 用戶直接自己@Bean替換底層的組件
- 用戶去看這個(gè)組件是獲取的配置文件什么值就去修改。
xxxxxAutoConfiguration ---> 組件 ---> xxxxProperties里面拿值 ----> application.properties
總結(jié)
以上是生活随笔為你收集整理的springboot-自动配置流程的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: SpringBoot自动配置【源码分析】
- 下一篇: RabbitMq queue异常导致co