亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.430618.com 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747



Spring Boot是一個真正的游戲改變者,它的受歡迎程度現在不斷增加。讓我們看看Spring Boot到底是什么?Spring Boot是一個構建在Spring框架頂部的項目。它提供了一種更簡單、更快捷的方法來設置、配置和運行簡單和基于Web的應用程序。

在過去Spring框架中,我們需要為應用配置所有的內容,會有許多配置文件,例如XML或元注釋,這是Spring Boot解決的主要問題之一,基本無需XML配置了,都使用@注釋。

Spring boot巧妙地根據我們選擇的依賴配置,可以自動啟動我們想要的所有功能,并且只需單擊一下即可啟動應用程序。此外,它還簡化了應用程序的部署過程。

初次使用Spring Boot可能讓你感覺似乎發生了什么許多“神奇”的事情。

Spring Boot組件

Spring Boot自動配置: Spring啟動能夠檢測某些框架的可用性,例如Spring Data

JPA,Spring Batch,Hibernate和JDBC。一旦檢測到框架,它將自動配置它。

Spring Boot Core:是其他Spring模型的基礎。它提供了某些功能,可以通過驗證自行完成。

Spring Boot Starters:幫助啟動項目,它會自動添加啟動項目和依賴項。

Spring Boot特點

  • 用來實現微服務;
  • 自動配置
  • 自定義配置
  • 模塊化
  • 獨立打包 直接運行
  • 內嵌服務器
  • Spring cloud的基礎

實現微服務

微服務是一種細小粒度的服務,可直接通過端口對外提供服務,Spring Boot提供REST風格API暴露微服務,與客戶端交換采取JSON數據格式。

自動配置

Spring Boot的最佳功能之一是它根據您的依賴關系自動配置您的應用程序。它不僅智能,活躍,而且具有上下文智能,并記錄您的要求。我們以數據庫功能為例。如果你向pom.xml添加了一個需求,它與數據庫有某種關系,那么Spring引導本身假定你想要使用數據庫,因此它允許你的應用程序隨時使用該數據庫。

只要在pom.xml增加相應依賴就等同于加入相應的組件:

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-web</artifactId>

</dependency>

上面配置說明這個應用啟動了pring-boot-starter-web的功能,也就是能提供REST端點暴露,讓客戶端通過/xxx/xx這樣形式URL訪問內部服務和資源。

Spring專門提供了https://start.spring.io/讓你選擇一個SpringBoot需要的組件。Idea等開發工具提供了自動導航服務。

創建一個SpringBoot的微服務應用,只要在應用入口類上標注@SpringBootApplication:

@SpringBootApplication = @EnableAutoConfiguration + @Configuration + @ComponentScan.

  • @EnableAutoConfiguration: Spring Boot會根據添加的maven的pom.xml的依賴項自動配置加載相應的依賴組件,它能智能感知上下文。
  • @Configuration表示當前類是一個配置工廠,可生產當前項目所需的各種Bean實例,類似于XML中的<bean id=xxx name=xxxx>。如果你想為當前項目導入其他組件,除了配置pom.xml以外,還可以在這里用代碼使用工廠模式創建,類的方法上使用@Bean標注,也可用函數式方式創建,性能更好。
  • @ComponentScan是用于自動掃描包,如果不明確聲明,只使用@SpringBootApplication,那么就掃描當前所在的包和子包。

自定義配置

Spring Boot除了提供入口函數以外,還提供配置,有兩種形式:application.properties和application.yaml,后一種格式在Docker和K8s容器編排中比較常用。比如上面啟動了JPA,那么可以在applciation.properties中配置JPA的配置:

spring.datasource.url=jdbc:MySQL://localhost:3306/temp
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5Dialect
spring.jpa.hibernate.ddl-auto=update

這就具體指明了JPA實現使用Hibernate,具體數據庫時MySQL。

Spring Cloud中各個組件的配置基本都是在這里實現,基本無需寫任何代碼就可以實現服務網關、服務發現和負載平衡以及斷路器功能。

模塊化

一般情況下,一個SpringBoot應用 = 一個微服務 = 一個模塊 = 一個有邊界的上下文,如果有多個模塊,我們就開發多個微服務,多個SpringBoot應用,然后使用Springcloud實現它們之間動態訪問和監控。 但是有時我們也會希望將多個模塊放入一個SpringBoot應用中,這樣模塊之間調用可以在一個JVM內進行,適合小型系統的部署,隨著規模擴大,我們還可將這些模塊變成一個個微服務,以SpringBoot應用分布式運行。

其實就是解釋@Configuration + @EnableAutoConfiguration + @ComponentScan 三個注釋:

使用Spring Boot實現模塊化

獨立打包

Spring Boot允許您設計獨立的,生產級質量的應用程序,您可以在任何網站上運行而不會浪費時間。您可能認為運行JAVA應用程序非常簡單容易。你需要做的就是給出一個運行命令,一切都開始發生你所想到的。老實說,這不是真的!要運行java應用程序,過去需要執行以下步驟:

  • 打包你的應用
  • 選擇要運行應用程序的Web服務器類型并下載它
  • 配置該Web服務器
  • 組織部署過程

但是,如果您使用Spring Boot技術來運行應用程序,則只需執行以下兩個步驟:

  • 打包你的申請
  • 使用一些簡單的命令運行它,例如java -jar my-application.jar

這有多簡單啊!Spring Boot通過簡單地為您的應用程序配置和部署嵌入式Web服務器來滿足您的其余需求。

Spring的主入口類是以@SpringBootApplication標注.

@SpringBootApplication
public class MyApplication {
 public static void main(String[] args) {
 SpringApplication.run(MyApplication.class, args);
 }
}

同時這個類也是Java的main類,SpringBoot打成Jar包是一種胖jar,兼容標準的Jar包,它的 MANIFEST.MF格式如下:

Main-Class: org.springframework.boot.loader.JarLauncher
Start-Class: com.mycompany.project.MyApplication

也可以打包成可執行的war 包,MANIFEST.MF格式如下:

Main-Class: org.springframework.boot.loader.WarLauncher
Start-Class: com.mycompany.project.MyApplication
 

內嵌服務器

SpringBoot內嵌默認是Tomcat,還有Jetty等其他服務器可以選擇,tomcat配置不像過去那樣我們可以直接配置,需要通過SpringBoot去配置和調度。過去的模式是:先啟動服務器,再啟動war應用,服務就啟動了;現在的模式是直接啟動服務就可以使用了。一個tomcat服務器=一個微服務。

Spring cloud的基礎

Spring cloud是實現分布式微服務的組件,它的基礎就是一個個Spring Boot微服務,比如服務發現就是一個嵌入了Eureka組件的Spring Boot,而服務網關則是嵌入了Zuul組件的Spring Boot,別問是如何嵌入這些組件的,在上面自動配置有講述。

Spring Boot與Spring MVC與Spring的區別

許多對Spring Boot知之甚少的人在使用和部署這三種Spring技術時都會感到困惑。因此,了解它們的使用時間和地點變得極為重要。

  • Spring框架:Spring Framework 的作用是提供一種依賴,也稱為控制反轉(IOC)。當適當使用IOC時,它有助于開發易于測試和使用的松散耦合應用程序。
  • Spring MVC:它提供了一種設計Web應用程序的分離方式。通過View Resolver,Dispatcher Servlet和ModelAndView 等簡單概念,開發人員可以開發應用程序而不會消耗太多時間。
  • Spring Boot:Spring Boot通過自動配置數據源進行智能工作。它還可以處理啟動項目,從而無需編寫注釋,樣板代碼和XML配置,從而提高了工作效率并減少了開發人員的工作量。

分享到:
標簽:Spring Boot
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定