第一個SpringBoot應用
專案結構
-
根package:com.zyj.learn
-
SpringBoot要求main()方法所在啟動類放在根package下
-
Application
@SpringBootApplication public class Application { public static void main(String[] args) throws Exception { SpringApplication.run(Application.class, args); } }
-
核心註解
@SpringBootApplication
-
啟動Spring Boot應用程式只需要對啟動類加上一個註解@SpringBootApplication,相當於啟動了自動配置和自動掃描
-
@SpringBootApplication包含:
-
@SpringBootConfiguration
-
@EnableAutoConfiguration
-
@ComponentScan
啟動依賴
spring-boot-starter-parent
可以簡單理解為一個“模板”,它為建立Spring Boot應用程式提供了一些預設的規則和配置。當你的Spring Boot專案使用這個“模板”能得到以下好處:
自動管理依賴版本:自動管理Spring Boot相關依賴的正確版本。
預設的構建外掛:提供了一些已經配置好的構建外掛,比如編譯Java程式碼的外掛,執行測試的外掛等。
確保Spring Boot特性正常工作:確保Spring Boot的自動配置、微服務等特性可以正常使用。
簡化配置:很多常用的配置都已經為你設定好了,你不需要從頭開始配置。
spring-boot-starter-web
這個啟動器是用於建立基於Spring的Web應用程式的。它包含了構建RESTful web服務或傳統的web應用程式所需的所有Spring Web庫。
主要元件包括:
spring-web:提供Web應用程式的基礎支援。
spring-webmvc:提供Spring MVC實現,用於構建RESTful web服務或模型-檢視-控制器(MVC)應用程式。
其他相關庫,如用於JSON處理的jackson-databind。
引入spring-boot-starter-web時,自動建立了:
ServletWebServerFactoryAutoConfiguration:自動建立一個嵌入式Web伺服器,預設是Tomcat;
DispatcherServletAutoConfiguration:自動建立一個DispatcherServlet;
HttpEncodingAutoConfiguration:自動建立一個CharacterEncodingFilter;
WebMvcAutoConfiguration:自動建立若干與MVC相關的Bean。
spring-boot-starter-jdbc
這個啟動器提供了構建使用JDBC(Java Database Connectivity)資料庫操作的應用程式所需的依賴項。
主要元件包括:
spring-jdbc:提供JDBC抽象和Spring的JDBC支援。
spring-boot-starter:包含了自動配置、日誌和YAML屬性處理等Spring Boot核心功能。
spring-boot-starter-aop:提供面向切面程式設計(AOP)的支援,可用於宣告式事務管理等。
引入spring-boot-starter-jdbc時,啟動時會自動掃描所有的XxxAutoConfiguration:
DataSourceAutoConfiguration:自動建立一個DataSource,其中配置項從application.yml的spring.datasource讀取;
DataSourceTransactionManagerAutoConfiguration:自動建立了一個基於JDBC的事務管理器;
JdbcTemplateAutoConfiguration:自動建立了一個JdbcTemplate。