Spring Boot簡介

Spring Boot是一個基於Java的開源框架,用於創建微服務。它由Pivotal Team開發,用於構建獨立的生產就緒Spring應用。 本章將介紹Spring Boot,並熟悉基本概念。

微服務是什麼?

微服務(Micro Service)是一種允許開發人員獨立開發和部署服務的體系結構。每個運行的服務都有自己的流程,這實現了羽量級模型以支持業務應用程式。

優點

微服務為其開發人員提供以下優勢 -

  • 易於部署
  • 簡單的可擴展性
  • 與容器相容
  • 最低配置
  • 生產時間較短

Spring Boot是什麼?

Spring Boot為Java開發人員提供了一個很好的平臺,可以開發一個可以運行的獨立和生產級Spring應用程式。可以開始使用最少的配置,而無需進行整個Spring配置設置。

優點

Spring Boot為其開發人員提供以下優勢 -

  • 易於理解和開發Spring應用
  • 提高生產力
  • 縮短開發時間

目標

Spring Boot的設計目標如下 -

  • 避免在Spring中進行複雜的XML配置
  • 以更簡單的方式開發生產就緒的Spring應用程式
  • 減少開發時間並獨立運行應用程式
  • 提供一種更簡單的應用程式入門方式

為什麼選擇Spring Boot?

選擇Spring Boot,因為它提供的功能和優點如下 -

  • 它提供了一種靈活的方法來配置Java Bean,XML配置和數據庫事務。
  • 它提供強大的批處理和管理REST端點。
  • 在Spring Boot中,一切都是自動配置的; 無需手動配置。
  • 它提供基於注釋的spring應用程式。
  • 簡化依賴管理。
  • 它包括嵌入式Servlet容器。

Spring Boot是如何工作的?

Spring Boot會根據使用@EnableAutoConfiguration批註添加到專案中的依賴項自動配置應用程式。 例如,如果MySQL資料庫在類路徑上,但尚未配置任何資料庫連接,則Spring Boot會自動配置記憶體資料庫。

spring boot應用程式的入口點是包含@SpringBootApplication注釋和main方法的類。
Spring Boot使用@ComponentScan注釋自動掃描專案中包含的所有組件。

Spring Boot Starters

處理依賴管理對於大專案來說是一項艱巨的任務。 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應用程式

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);
   }
}

上一篇: 下一篇: Spring Boot快速入門