Spring Boot是一個基於Java的開源框架,用於建立微服務。它由Pivotal Team開發,用於構建獨立的生產就緒Spring應用。 本章將介紹Spring Boot,並熟悉基本概念。
微服務(Micro Service)是一種允許開發人員獨立開發和部署服務的體系結構。每個執行的服務都有自己的流程,這實現了輕量級模型以支援業務應用程式。
微服務為其開發人員提供以下優勢 -
Spring Boot為Java開發人員提供了一個很好的平台,可以開發一個可以執行的獨立和生產級Spring應用程式。可以開始使用最少的組態,而無需進行整個Spring組態設定。
Spring Boot為其開發人員提供以下優勢 -
Spring Boot的設計目標如下 -
選擇Spring Boot,因為它提供的功能和優點如下 -
Spring Boot會根據使用@EnableAutoConfiguration
批注新增到專案中的依賴項自動組態應用程式。 例如,如果MySQL資料庫在類路徑上,但尚未組態任何資料庫連線,則Spring Boot會自動組態記憶體資料庫。
spring boot應用程式的入口點是包含@SpringBootApplication
注釋和main
方法的類。
Spring Boot使用@ComponentScan
注釋自動掃描專案中包含的所有元件。
處理依賴管理對於大專案來說是一項艱鉅的任務。 Spring Boot通過提供一組依賴項來解決此問題,以方便開發人員。
例如,如果要使用Spring和JPA進行資料庫存取,則在專案中包含spring-boot-starter-data-jpa
依賴項就足夠了。
請注意,所有Spring Boot啟動程式都遵循相同的命名模式spring-boot-starter-*
,其中*
表示它是應用程式的一種型別。
請看下面的Spring Boot啟動器,以便更好地理解 -
Spring Boot Starter Actuator依賴關係用於監視和管理應用程式。 其程式碼如下所示 -
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
Spring Boot Starter Security依賴項用於Spring Security。 其程式碼如下所示 -
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
Spring Boot Starter Web依賴項用於編寫Rest端點。 其程式碼如下所示 -
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
Spring Boot Starter Thyme Leaf依賴項用於建立Web應用程式。 其程式碼如下所示 -
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
Spring Boot Starter Test依賴項用於編寫測試用例。 其程式碼如下所示 -
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test<artifactId>
</dependency>
Spring Boot Auto Configuration會根據在專案中新增的JAR依賴項自動組態Spring應用程式。例如,如果MySQL資料庫在類路徑上,但尚未組態任何資料庫連線,則Spring Boot會自動組態記憶體資料庫。
為此,需要將@EnableAutoConfiguration
批註或@SpringBootApplication
批注新增到主類檔案中。然後,將自動組態Spring Boot應用程式。
請注意以下程式碼以便更好地理解 -
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
@EnableAutoConfiguration
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
Spring Boot Application的入口點是包含@SpringBootApplication
注釋的類。該類應具有執行Spring Boot應用程式的主要方法。 @SpringBootApplication
注釋包括自動組態,元件掃描和Spring Boot組態。
如果將@SpringBootApplication
批注新增到類中,則無需新增@EnableAutoConfiguration
,@ComponentScan
和@SpringBootConfiguration
批註。@SpringBootApplication
注釋包括所有其他注釋。
請注意以下程式碼以便更好地理解 -
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
Spring Boot應用程式在應用程式初始化時掃描所有bean和包宣告。需要為類檔案新增@ComponentScan
批註,以掃描專案中新增的元件。
請注意以下程式碼以便更好地理解 -
import org.springframework.boot.SpringApplication;
import org.springframework.context.annotation.ComponentScan;
@ComponentScan
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}