云原生-Spring Boot-簡介

#圖文創(chuàng)作打卡挑戰(zhàn)活動#

Spring Boot是用于創(chuàng)建微服務(wù)的基于Java的開源框架。它是由Pivotal Team開發(fā)的,用于構(gòu)建獨立的和生產(chǎn)就緒的彈簧應(yīng)用程序。本章將向您介紹Spring Boot,并使您熟悉其基本概念。

1、什么是微服務(wù)?

微服務(wù)是允許開發(fā)人員獨立開發(fā)和部署服務(wù)的體系結(jié)構(gòu)。每個運行的服務(wù)都有其自己的流程,這實現(xiàn)了支持業(yè)務(wù)應(yīng)用程序的輕量級模型。

1.1、好處

微服務(wù)為其開發(fā)人員提供以下優(yōu)勢-

  • 易于部署
  • 簡單的可擴展性
  • 與容器兼容
  • 最低配置
  • 縮短生產(chǎn)時間

2、什么是Spring Boot?

Spring Boot為Java開發(fā)人員提供了一個很好的平臺,使其可以開發(fā)一個可以運行的獨立的生產(chǎn)級Spring應(yīng)用程序。您可以開始使用最低配置,而無需整個Spring配置設(shè)置。

2.1、好處

Spring Boot為其開發(fā)人員提供了以下優(yōu)勢-

  • 易于理解和開發(fā)彈簧應(yīng)用
  • 提高生產(chǎn)力
  • 減少開發(fā)時間

2.2、目標(biāo)

Spring Boot的設(shè)計目標(biāo)如下:

  • 為了避免在Spring中進行復(fù)雜的XML配置
  • 以更簡單的方式開發(fā)可用于生產(chǎn)環(huán)境的Spring應(yīng)用程序
  • 減少開發(fā)時間并獨立運行應(yīng)用程序
  • 提供一種更簡單的方法來開始使用該應(yīng)用程序

2.3、為什么選擇Spring Boot?

您可以選擇Spring Boot,因為它具有此處提供的功能和優(yōu)點-

  • 它提供了一種靈活的方法來配置Java Bean,XML配置和數(shù)據(jù)庫事務(wù)。
  • 它提供了強大的批處理功能,并管理REST端點。
  • 在Spring Boot中,所有內(nèi)容都是自動配置的。無需手動配置。
  • 它提供基于注釋的spring應(yīng)用程序
  • 簡化依賴管理
  • 它包括嵌入式Servlet容器

2.4、它是如何工作的?

Spring Boot通過使用@EnableAutoConfiguration批注,根據(jù)您添加到項目中的依賴項自動配置應(yīng)用程序。例如,如果MySQL數(shù)據(jù)庫位于類路徑上,但尚未配置任何數(shù)據(jù)庫連接,則Spring Boot會自動配置內(nèi)存數(shù)據(jù)庫。

Spring Boot應(yīng)用程序的入口點是包含@SpringBootApplication批注和main方法的類。

Spring Boot通過使用@ComponentScan批注自動掃描項目中包含的所有組件。

2.5、spring boot 啟動器

對于大型項目,處理依賴關(guān)系管理是一項艱巨的任務(wù)。Spring Boot通過提供一組依賴關(guān)系來解決此問題,以方便開發(fā)人員。

例如,如果要使用Spring和JPA進行數(shù)據(jù)庫訪問,則在項目中包含spring-boot-starter-data-jpa依賴項就足夠了。

請注意,所有Spring Boot啟動器都遵循相同的命名模式spring-boot-starter- *,其中*表示它是應(yīng)用程序的一種。

2.6例子

查看下面解釋的以下Spring Boot啟動器,以更好地理解-

Spring Boot Starter Actuator依賴項用于監(jiān)視和管理您的應(yīng)用程序。其代碼如下所示-

<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百里香葉依賴關(guān)系用于創(chuàng)建Web應(yīng)用程序。其代碼如下所示-

<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>

Spring Boot Starter Test依賴關(guān)系用于編寫測試用例。其代碼如下所示-

<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-test</artifactId>
</dependency>

2.7、自動配置

Spring Boot自動配置會根據(jù)您在項目中添加的JAR依賴關(guān)系自動配置Spring應(yīng)用程序。例如,如果MySQL數(shù)據(jù)庫位于類路徑上,但尚未配置任何數(shù)據(jù)庫連接,則Spring Boot會自動配置內(nèi)存數(shù)據(jù)庫。

為此,您需要在主類文件中添加@EnableAutoConfiguration批注或@SpringBootApplication批注。然后,您的Spring Boot應(yīng)用程序?qū)⒈蛔詣优渲谩?/span>

觀察以下代碼以更好地理解-

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

2.8、Spring Boot應(yīng)用程序

Spring Boot Application的入口點是包含@SpringBootApplication批注的類。此類應(yīng)具有運行Spring Boot應(yīng)用程序的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);
   }
}

2.9、組件掃描

初始化時,Spring Boot應(yīng)用程序會掃描所有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);
   }
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容