Spring Boot

狠狠赚一笔發表於2024-06-23

第一個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包含:

  1. @SpringBootConfiguration

  2. @EnableAutoConfiguration

  3. @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。

相關文章