欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

SpringBoot使用自動配置xxxAutoConfiguration

 更新時(shí)間:2021年12月24日 15:19:25   作者:快鳥  
這篇文章介紹了SpringBoot自動配置xxxAutoConfiguration的使用方法,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

常用的類:

  • @ConditionalOnProperty(name = "use.redis.session.store", havingValue = "true")
  • @ConditionalOnClass(Session.class)
  • @AutoConfigureAfter(RedisAutoConfiguration.class)
  • @ConditionalOnWebApplication
  • @ConditionalOnMissingBean(RedisHttpSessionConfiguration.class)
  • @SpringBootApplication(exclude ={SessionAutoConfiguration.class})

舉例:以MybatisAutoConfiguration為例

  • 1. 在jar包中/META-INF/spring.factories中配置
    org.springframework.boot.autoconfigure.EnableAutoConfiguration=org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration
    spring在啟動時(shí)會去自動加載這個(gè)bean
  • 2. MybatisAutoConfiguration.java上加上@Configuration
  • 3. 如果需要通過自定義構(gòu)造函數(shù)來構(gòu)造bean,則加上構(gòu)造函數(shù)
public MybatisAutoConfiguration(MybatisProperties properties,
                                  ObjectProvider<Interceptor[]> interceptorsProvider,
                                  ResourceLoader resourceLoader,
                                  ObjectProvider<DatabaseIdProvider> databaseIdProvider,
                                  ObjectProvider<List<ConfigurationCustomizer>> configurationCustomizersProvider) {
    this.properties = properties;
    this.interceptors = interceptorsProvider.getIfAvailable();
    this.resourceLoader = resourceLoader;
    this.databaseIdProvider = databaseIdProvider.getIfAvailable();
    this.configurationCustomizers = configurationCustomizersProvider.getIfAvailable();
}

構(gòu)造函數(shù)中依賴的Bean,Spring會自動從Spring beanFactory容器中去找到適配的bean來傳入

參數(shù):

  • MybatisProperties properties --> 依賴MybatisProperties 這個(gè)bean,而MybatisProperties 是一個(gè)@ConfigurationProperties。則加上@EnableConfigurationProperties(MybatisProperties.class),讓bean MybatisProperties 先加載
  • ObjectProvider<Interceptor[]> interceptorsProvider --> 依賴 org.apache.ibatis.plugin.Interceptor[],但又不確定 Interceptor 的bean是否存在,則通過ObjectProvider<Interceptor[]> 去獲取,interceptorsProvider.getIfAvailable()
  • ResourceLoader resourceLoader --> 依賴 bean ResourceLoader,直接在 Spring 容器中找到相應(yīng)的 bean
  • ObjectProvider<DatabaseIdProvider> databaseIdProvider --> 同上
  • ObjectProvider<List<ConfigurationCustomizer>> configurationCustomizersProvider --> 同上

附:斷點(diǎn)打在MybatisAutoConfiguration 的構(gòu)造函數(shù)上,查看調(diào)用棧,便可以看出端倪

以上所述是小編給大家介紹的SpringBoot使用自動配置xxxAutoConfiguration,希望對大家有所幫助。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

  • Solr通過特殊字符分詞實(shí)現(xiàn)自定義分詞器詳解

    Solr通過特殊字符分詞實(shí)現(xiàn)自定義分詞器詳解

    最近因?yàn)楣ぷ鞯男枰鲆粋€(gè)分詞器,通過查找相關(guān)的資料最終用solr實(shí)現(xiàn)了,下面這篇文章主要給大家介紹了關(guān)于Solr通過特殊字符分詞實(shí)現(xiàn)自定義分詞器的相關(guān)資料,需要的朋友可以參考借鑒,下面隨著小編來一起看看吧。
    2017-09-09
  • 強(qiáng)烈推薦IDEA提高開發(fā)效率的必備插件

    強(qiáng)烈推薦IDEA提高開發(fā)效率的必備插件

    這篇文章主要介紹了強(qiáng)烈推薦IDEA提高開發(fā)效率的必備插件,文中有非常詳細(xì)的圖文示例,對想要提高企業(yè)開發(fā)效率的小伙伴們有非常好的幫助,需要的朋友可以參考下
    2021-04-04
  • 詳解Spring Boot 配置加載順序及屬性加載順序

    詳解Spring Boot 配置加載順序及屬性加載順序

    這篇文章主要介紹了詳解Spring Boot 配置加載順序及屬性加載順序,本章內(nèi)容基于 Spring Boot 2.0 進(jìn)行詳解,感興趣的朋友跟隨腳本之家小編一起看看吧
    2018-08-08
  • mapstruct的用法之qualifiedByName示例詳解

    mapstruct的用法之qualifiedByName示例詳解

    qualifiedByName的意思就是使用這個(gè)Mapper接口中的指定的默認(rèn)方法去處理這個(gè)屬性的轉(zhuǎn)換,而不是簡單的get?set,今天通過本文給大家介紹下mapstruct的用法之qualifiedByName示例詳解,感興趣的朋友一起看看吧
    2022-04-04
  • 關(guān)于SpringBoot Actuator漏洞補(bǔ)救方案

    關(guān)于SpringBoot Actuator漏洞補(bǔ)救方案

    SpringBoot Actuator模塊提供了健康檢查,審計(jì),指標(biāo)收集,HTTP 跟蹤等,是幫助我們監(jiān)控和管理SpringBoot應(yīng)用的模塊,本文將主要介紹SpringBoot Actuator漏洞的補(bǔ)救方案,需要的朋友可以參考下
    2023-06-06
  • spring-gateway網(wǎng)關(guān)聚合swagger實(shí)現(xiàn)多個(gè)服務(wù)接口切換的示例代碼

    spring-gateway網(wǎng)關(guān)聚合swagger實(shí)現(xiàn)多個(gè)服務(wù)接口切換的示例代碼

    這篇文章主要介紹了spring-gateway網(wǎng)關(guān)聚合swagger實(shí)現(xiàn)多個(gè)服務(wù)接口切換的示例代碼,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-03-03
  • SpringBoot Application注解原理及代碼詳解

    SpringBoot Application注解原理及代碼詳解

    這篇文章主要介紹了SpringBoot Application注解原理及代碼詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-06-06
  • JavaWeb實(shí)現(xiàn)文件上傳功能詳解

    JavaWeb實(shí)現(xiàn)文件上傳功能詳解

    這篇文章主要介紹了JavaWeb實(shí)現(xiàn)文件上傳功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • SpringBoot 過濾器、攔截器、監(jiān)聽器對比及使用場景分析

    SpringBoot 過濾器、攔截器、監(jiān)聽器對比及使用場景分析

    過濾器是處于客戶端和服務(wù)器資源文件之間的一道過濾網(wǎng),這篇文章主要介紹了SpringBoot 過濾器、攔截器、監(jiān)聽器對比及使用場景分析,需要的朋友可以參考下
    2021-05-05
  • idea在運(yùn)行期間,實(shí)現(xiàn)讓修改的頁面實(shí)時(shí)生效

    idea在運(yùn)行期間,實(shí)現(xiàn)讓修改的頁面實(shí)時(shí)生效

    這篇文章主要介紹了idea在運(yùn)行期間,實(shí)現(xiàn)讓修改的頁面實(shí)時(shí)生效問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01

最新評論