日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

batch normalization的原理和作用_springboot自动配置原理

發布時間:2025/3/20 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 batch normalization的原理和作用_springboot自动配置原理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

配置文件能配置的屬性參照https://docs.spring.io/spring-boot/docs/1.5.9.RELEASE/reference/htmlsingle/#common-application-properties

1、自動配置原理:

1)SpringBoot啟動的時候加載主配置類,開啟了自動配置功能@EnableAutoConfiguration

2)@EnableAutoConfiguration 作用:

利用EnableAutoConfigurationImportSelector給容器中導入一些組件

可以查看selectImports()方法的內容;

List configurations = getCandidateConfigurations(annotationMetadata, attributes);

獲取候選的配置

SpringFactoriesLoader

將 類路徑下 META-INF/spring.factories 里面配置的所有EnableAutoConfiguration的值加入到了容中;

#

每一個這樣的 xxxAutoConfiguration類都是容器中的一個組件,都加入到容器中;用他們來做自動配置;

3)、每一個自動配置類進行自動配置功能;

4)、以HttpEncodingAutoConfiguration(Http編碼自動配置)為例解釋自動配置原理;

@Configuration

根據當前不同的條件判斷,決定這個配置類是否生效?

一但這個配置類生效;這個配置類就會給容器中添加各種組件;這些組件的屬性是從對應的properties類中獲取的,這些類里面的每一個屬性又是和配置文件綁定的;

5)、所有在配置文件中能配置的屬性都是在xxxxProperties類中封裝者‘;配置文件能配置什么就可以參照某個功能對應的這個屬性類

@ConfigurationProperties(prefix = "spring.http.encoding") //從配置文件中獲取指定的值和bean的屬

性進行綁定

public

1)SpringBoot啟動會加載大量的自動配置類

2)我們看我們需要的功能有沒有SpringBoot默認寫好的自動配置類;

3)我們再來看這個自動配置類中到底配置了哪些組件;(只要我們要用的組件有,我們就不需要再來配置了)

4)給容器中自動配置類添加組件的時候,會從properties類中獲取某些屬性。我們就可以在配置文件中指定這些屬性的值;

xxxxAutoConfigurartion:自動配置類;

給容器中添加組xxxxProperties:封裝配置文件中相關屬性

2、細節

2.1@Conditional派生注解(Spring注解版原生的@Conditional作用)

作用:必須是@Conditional指定的條件成立,才給容器中添加組件,配置配里面的所有內容才生效

自動配置類必須在一定的條件下才能生效;

我們怎么知道哪些自動配置類生效; 我們可以通過啟用 debug=true屬性;來讓控制臺打印自動配置報告,這樣我們就可以很方便的知道哪些自動配置 類生效;

========================= AUTO‐CONFIGURATION REPORT ========================= Positive matches:(自動配置類啟用的) ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ DispatcherServletAutoConfiguration matched:‐ @ConditionalOnClass found required class 'org.springframework.web.servlet.DispatcherServlet'; @ConditionalOnMissingClass did not find unwanted class (OnClassCondition) ‐ @ConditionalOnWebApplication (required) found StandardServletEnvironment (OnWebApplicationCondition) Negative matches:(沒有啟動,沒有匹配成功的自動配置類) ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ ActiveMQAutoConfiguration: Did not match: ‐ @ConditionalOnClass did not find required classes 'javax.jms.ConnectionFactory', 'org.apache.activemq.ActiveMQConnectionFactory' (OnClassCondition) AopAutoConfiguration: Did not match: ‐ @ConditionalOnClass did not find required classes 'org.aspectj.lang.annotation.Aspect', 'org.aspectj.lang.reflect.Advice' (OnClassCondition)

總結

以上是生活随笔為你收集整理的batch normalization的原理和作用_springboot自动配置原理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。