日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747



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

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

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

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

Spring Boot組件

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

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

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

Spring Boot Starters:幫助啟動(dòng)項(xiàng)目,它會(huì)自動(dòng)添加啟動(dòng)項(xiàng)目和依賴項(xiàng)。

Spring Boot特點(diǎn)

  • 用來實(shí)現(xiàn)微服務(wù);
  • 自動(dòng)配置
  • 自定義配置
  • 模塊化
  • 獨(dú)立打包 直接運(yùn)行
  • 內(nèi)嵌服務(wù)器
  • Spring cloud的基礎(chǔ)

實(shí)現(xiàn)微服務(wù)

微服務(wù)是一種細(xì)小粒度的服務(wù),可直接通過端口對外提供服務(wù),Spring Boot提供REST風(fēng)格API暴露微服務(wù),與客戶端交換采取JSON數(shù)據(jù)格式。

自動(dòng)配置

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

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

<dependency>

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

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

</dependency>

上面配置說明這個(gè)應(yīng)用啟動(dòng)了pring-boot-starter-web的功能,也就是能提供REST端點(diǎn)暴露,讓客戶端通過/xxx/xx這樣形式URL訪問內(nèi)部服務(wù)和資源。

Spring專門提供了https://start.spring.io/讓你選擇一個(gè)SpringBoot需要的組件。Idea等開發(fā)工具提供了自動(dòng)導(dǎo)航服務(wù)。

創(chuàng)建一個(gè)SpringBoot的微服務(wù)應(yīng)用,只要在應(yīng)用入口類上標(biāo)注@SpringBootApplication:

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

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

自定義配置

Spring Boot除了提供入口函數(shù)以外,還提供配置,有兩種形式:application.properties和application.yaml,后一種格式在Docker和K8s容器編排中比較常用。比如上面啟動(dòng)了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實(shí)現(xiàn)使用Hibernate,具體數(shù)據(jù)庫時(shí)MySQL。

Spring Cloud中各個(gè)組件的配置基本都是在這里實(shí)現(xiàn),基本無需寫任何代碼就可以實(shí)現(xiàn)服務(wù)網(wǎng)關(guān)、服務(wù)發(fā)現(xiàn)和負(fù)載平衡以及斷路器功能。

模塊化

一般情況下,一個(gè)SpringBoot應(yīng)用 = 一個(gè)微服務(wù) = 一個(gè)模塊 = 一個(gè)有邊界的上下文,如果有多個(gè)模塊,我們就開發(fā)多個(gè)微服務(wù),多個(gè)SpringBoot應(yīng)用,然后使用Springcloud實(shí)現(xiàn)它們之間動(dòng)態(tài)訪問和監(jiān)控。 但是有時(shí)我們也會(huì)希望將多個(gè)模塊放入一個(gè)SpringBoot應(yīng)用中,這樣模塊之間調(diào)用可以在一個(gè)JVM內(nèi)進(jìn)行,適合小型系統(tǒng)的部署,隨著規(guī)模擴(kuò)大,我們還可將這些模塊變成一個(gè)個(gè)微服務(wù),以SpringBoot應(yīng)用分布式運(yùn)行。

其實(shí)就是解釋@Configuration + @EnableAutoConfiguration + @ComponentScan 三個(gè)注釋:

使用Spring Boot實(shí)現(xiàn)模塊化

獨(dú)立打包

Spring Boot允許您設(shè)計(jì)獨(dú)立的,生產(chǎn)級質(zhì)量的應(yīng)用程序,您可以在任何網(wǎng)站上運(yùn)行而不會(huì)浪費(fèi)時(shí)間。您可能認(rèn)為運(yùn)行JAVA應(yīng)用程序非常簡單容易。你需要做的就是給出一個(gè)運(yùn)行命令,一切都開始發(fā)生你所想到的。老實(shí)說,這不是真的!要運(yùn)行java應(yīng)用程序,過去需要執(zhí)行以下步驟:

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

但是,如果您使用Spring Boot技術(shù)來運(yùn)行應(yīng)用程序,則只需執(zhí)行以下兩個(gè)步驟:

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

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

Spring的主入口類是以@SpringBootApplication標(biāo)注.

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

同時(shí)這個(gè)類也是Java的main類,SpringBoot打成Jar包是一種胖jar,兼容標(biāo)準(zhǔn)的Jar包,它的 MANIFEST.MF格式如下:

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

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

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

內(nèi)嵌服務(wù)器

SpringBoot內(nèi)嵌默認(rèn)是Tomcat,還有Jetty等其他服務(wù)器可以選擇,tomcat配置不像過去那樣我們可以直接配置,需要通過SpringBoot去配置和調(diào)度。過去的模式是:先啟動(dòng)服務(wù)器,再啟動(dòng)war應(yīng)用,服務(wù)就啟動(dòng)了;現(xiàn)在的模式是直接啟動(dòng)服務(wù)就可以使用了。一個(gè)tomcat服務(wù)器=一個(gè)微服務(wù)。

Spring cloud的基礎(chǔ)

Spring cloud是實(shí)現(xiàn)分布式微服務(wù)的組件,它的基礎(chǔ)就是一個(gè)個(gè)Spring Boot微服務(wù),比如服務(wù)發(fā)現(xiàn)就是一個(gè)嵌入了Eureka組件的Spring Boot,而服務(wù)網(wǎng)關(guān)則是嵌入了Zuul組件的Spring Boot,別問是如何嵌入這些組件的,在上面自動(dòng)配置有講述。

Spring Boot與Spring MVC與Spring的區(qū)別

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

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

分享到:
標(biāo)簽:Spring Boot
用戶無頭像

網(wǎng)友整理

注冊時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績評定2018-06-03

通用課目體育訓(xùn)練成績評定