🛫更多知識總結見SpringBoot 2專欄
🚕本篇知識點總結自尚硅谷雷神的視頻
🚒博主對于該知識尚在學習階段
🚄如果發現存在問題請毫不吝嗇的指出
🚀🚀扎哇太棗糕的博客主頁🚀🚀
?
目錄
1?起步依賴
1.1 starter場景啟動器
1.2 父項目作依賴管理
2 自動配置
2.1 自動配置Tomcat服務器
2.2 自動配置web開發場景、SpringMVC組件
2.3 默認的包注解掃描規則
2.4 默認的配置屬性值
2.5 按需加載所有的自動配置項
1?起步依賴
1.1 starter場景啟動器
? ? ? ? 在依賴導入這一方面,SpringBoot區別于Spring的就是,Spring在pom.xml文件中手動導入所有的依賴包括版本號,而SpringBoot只需要在項目的pom.xml文件中導入spring-boot-starter-web即可將編寫一個web應用所需要的所有的jar包自動加載完成,且使用默認的版本號避免不同技術的各個版本之間出現相互沖突問題。
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId> </dependency>
1.2 父項目作依賴管理
????????每一個SpringBoot項目中都會繼承自一個父項目,父項目中會定義好所有的依賴以及版本號,子項目繼承父項目之后再導入依賴就可以不用去聲明版本號。
? ? ? ? 以入門案例為例,該案例項目繼承自如下父項目
<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.3.4.RELEASE</version> </parent>
????????這個父項目項目又繼承自另一個父項目,在這個父項目中幾乎定義了所有可能會用的到的依賴,并對所有的進行了版本仲裁,如果想要修改某個依賴版本的話就在pom.xml文件中使用properties標簽對版本號進行再次定義,因為maven依賴版本號采取的是就近原則。
2 自動配置
2.1 自動配置Tomcat服務器
? ? ? ? 在前面的starter場景啟動器中,底層已經導入了Tomcat的依賴,并對Tomcat服務器進行了配置。
2.2 自動配置web開發場景、SpringMVC組件
????????starter場景啟動器的底層也導入了web和SpringMVC需要的依賴,并對常用的組件進行了配置。
????????具體組件(編碼過濾器、前端控制器dispatcherservlet……)的查看可以借助IOC容器的相關API進行獲取
2.3 默認的包注解掃描規則
? ? ? ? 主程序(MainApplication)所在的包及這個包的所有子包都會被掃描到,其他位置的類都將不會被掃描到。這是SpringBoot設置的默認規則,我們也可以使用如下屬性人為指定包注解掃描的范圍。
其中@SpringBootApplication是一個合成注解,還可以將其拆開使用其中的@ComponentScan注解指定需要掃描的包
2.4 默認的配置屬性值
? ? ? ? SpringBoot為了簡便開發,將Spring配置文件中的所有配置都設置了一個默認的值,而這些配置都映射到一個java類,類中將所有的配置都對應封裝到一個private屬性并賦予默認值,在容器加載的時候創建相應java類的對象使其起作用。自己創建的配置文件設置值時,會調用封裝屬性的setter方法修改對應類中的屬性值。
????????以Tomcat服務器的配置為例
2.5 按需加載所有的自動配置項
? ? ? ? SpringBoot中所有的自動配置功能都在spring-boot-autoconfigure這個包中,包中有SpringBoot所有的starter,但是并不會直接加載全部的starter而是采用自動配置,所謂的自動配置就是導入哪個依賴加載哪個。
? ?
上一篇:【SpringBoot 2】快速入門案例HelloWorld
下一篇:【SpringBoot 2】SpringBoot相較于Spring的特點