天天看點

初識 Spring Boot-Spring Boot教程深入淺出系列

其他教程

Spring Boot 配置-Spring Boot教程深入淺出系列

自定義 Jackson ObjectMapper-Spring Boot教程深入淺出系列

Spring Boot Actuator 介紹-Spring Boot教程深入淺出系列

spring cloud 入門教程

Spring Boot 是一個基于 Java 的開源架構,用于建立微服務。它由 Pivotal Team 開發,用于建構獨立和生産就緒的 Spring 應用程式。本章将向您介紹 Spring Boot 并熟悉其基本概念。

什麼是微服務?

微服務是一種允許開發人員獨立開發和部署服務的架構。每個運作的服務都有自己的流程,這就實作了支援業務應用的輕量級模型。

優點

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

  • 輕松部署
  • 簡單的可擴充性
  • 與容器相容
  • 最低配置
  • 更少的生産時間

什麼是 Spring Boot?

Spring Boot 為 Java 開發人員提供了一個很好的平台來開發一個可以運作的獨立和生産級的 spring 應用程式。您可以從最少的配置開始,而無需整個 Spring 配置設定。

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

  • 易于了解和開發彈簧應用
  • 提高生産力
  • 縮短開發時間

目标

Spring Boot 的設計目标如下 -

  • 避免 Spring 中複雜的 XML 配置
  • 以更簡單的方式開發生産就緒的 Spring 應用程式
  • 減少開發時間并獨立運作應用程式
  • 提供更簡單的應用程式入門方法

為什麼選擇 Spring Boot?

您可以選擇 Spring Boot,因為它提供了這裡給出的特性和好處 -

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

它是如何工作的?

Spring Boot 會根據您添加到項目中的依賴項使用@EnableAutoConfiguration注釋自動配置您的應用程式。例如,如果 MySQL 資料庫在您的類路徑上,但您尚未配置任何資料庫連接配接,那麼 Spring Boot 會自動配置一個記憶體資料庫。

spring boot應用的入口點是包含@SpringBootApplication注解和main方法的類。

Spring Boot 使用@ComponentScan注解自動掃描項目中包含的所有元件。

Spring Boot 啟動器

處理依賴管理對于大型項目來說是一項艱巨的任務。Spring Boot 通過為開發人員提供一組依賴項來解決這個問題。

例如,如果您想使用 Spring 和 JPA 進行資料庫通路,則在您的項目中包含spring-boot-starter-data-jpa依賴項就足夠了。

請注意,所有 Spring Boot starter 都遵循相同的命名模式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 Endpoints。它的代碼如下所示 -

<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 應用程式的 main 方法。@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);
   }
}      

繼續閱讀