日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

Spring Boot (一)Spring Boot 概述

發布時間:2024/4/30 javascript 76 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Spring Boot (一)Spring Boot 概述 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Spring Boot(一)

一 、 Spring Boot 是什么?

  • 首先Spring Boot不是一個框架,它是一種用來輕松創建具有最小或零配置的獨立應用程序的方式。這是方法用來開發基于Spring的應用,但只需非常少的配置。它提供了默認的代碼和注釋配置,快速啟動新的Spring項目而不需要太多時間。它利用現有的Spring項目以及第三方項目來開發生產就緒(投入生產)的應用程序。它提供了一組Starter Pom或gradle構建文件,可以使用它們添加所需的依賴項,并且還便于自動配置。
  • Spring Boot根據其類路徑上的庫自動配置所需的類。假設應用程序想要與數據庫交互,如果在類路徑上有Spring數據庫,那么它會自動建立與數據源類的連接。
  • 二、 Spring Boot 主要目標

  • 為所有Spring開發提供一個基本的 、 更快的 、 更廣泛的入門體驗 。
  • 開箱即用 , 但隨著需求開始偏離默認值 , 快速啟動 。
  • 提供大型項目(如嵌入式服務器 , 安全性 , 度量 , 運行狀況檢查 , 外部化配置)常見的一系列非功能特性 。
  • 絕對沒有代碼生成 , 不需要xml配置 , 完全避免xml配置
  • 為了避免定義更多的注釋配置 (它將一些現有的Spring Fraework 注釋組合合成一個簡單的單一注釋 。)
  • 避免編寫大量的import語句
  • 提供一些默認值 ,以便在短時間內快速啟動項目 。
  • 三 、 新項目為什么需要Spring Boot

  • 假設要在Spring Framework中開發一個Hello World應用程序,因為只有一個項目專用于開發Hello World功能:它就是控制器。其余的是任何使用Spring開發的Web應用程序的通用模板文件。但是如果所有Spring Web應用程序都需要它,為什么都要在每個項目中都必須提供它? 以下是新項目需要Spring Boot的理由了。
  • 簡化基于Java的應用程序開發,單元測試和集成測試過程。
  • 通過提供一些默認值來減少開發,單元測試和集成測試時間。
  • 提高生產力。
  • 當使用默認值時,Spring Boot有自己的看法。如果不指定詳細信息,它將使用其自己的默認配置。如果想要持久化,但是沒有在POM文件中指定任何東西,那么Spring Boot會將Hibernate帶有HSQLDB數據庫的配置作為JPA提供者。
  • 為大型項目(例如嵌入式服務器,安全性,度量,健康檢查,外部化配置)提供許多非常常見的非功能特性/解決方案。
  • 四 、 Spring Boot 核心和限制

  • Spring Boot不是編寫應用程序的框架,它可以幫助我們以最少的配置或零配置開發和構建,打包和部署應用程序。
  • 它不是應用程序服務器。但是它是提供應用程序服務器功能的嵌入式servlet容器,而不是Spring Boot本身。
  • 類似地,Spring Boot不實現任何企業Java規范,例如JPA或JMS。 例如,Spring Boot不實現JPA,但它通過為JPA實現(例如Hibernate)自動配置適當的bean來支持JPA。
  • 最后,Spring Boot不使用任何形式的代碼生成來完成它的功能。它是利用Spring 4的條件配置功能,以及Maven和Gradle提供的傳遞依賴關系解析,以在Spring應用程序上下文中自動配置bean。
  • 簡而言之,Spring Boot它的核心就是Spring。
  • 未來的Spring項目不會有任何XML配置作為它的一部分,一切都將由項目Spring Boot處理。
  • 五、 Spring Boot 的優點和缺點

  • 優點:
  • 使用Java或Groovy開發基于Spring的應用程序非常容易。
  • 它減少了大量的開發時間并提高了生產力。
  • 它避免了編寫大量的樣板代碼,注釋和XML配置。
  • Spring Boot應用程序與其Spring生態系統(如Spring JDBC,Spring ORM,Spring Data,Spring Security等)集成非常容易。
  • 它遵循“自用默認配置”方法,以減少開發工作量。
  • 它提供嵌入式HTTP服務器,如Tomcat,Jetty等,以開發和測試Web應用程序非常容易。
  • 它提供CLI(命令行界面)工具從命令提示符,非常容易和快速地開發和測試Spring Boot(Java或Groovy)應用程序。
  • 它提供了許多插件來開發和測試Spring啟動應用程序非常容易使用構建工具,如Maven和Gradle
  • 它提供了許多插件,以便與嵌入式和內存數據庫工作非常容易。
  • 限制:
  • 將現有或傳統的Spring Framework項目轉換為Spring Boot應用程序是一個非常困難和耗時的過程。它僅適用于全新Spring項目。
  • 六、 Spring Boot 入門

  • Spring Boot項目歸根只是一個常規的Spring項目,只是利用了Spring Boot啟動程序和自動配置。要創建Spring Boot應用程序的方法,Spring團隊(The Pivotal Team)提供了以下三種方法。
  • 使用Spring Boot CLI工具
  • 使用Spring STS IDE
  • 使用Spring Initializr (網站 http://start.spring.io/)
  • 可以使用Spring Boot開發兩種基于Spring的應用程序:
  • 基于Java的應用程序
  • 基于Groovy的應用程序
  • 我們可以使用Spring Boot CLI或Spring STS IDE或Spring Initializr 網站來開發Spring Boot Groovy應用程序。 但是,我們可以使用Spring STS IDE或Spring Initializr網站來開發Spring Boot Java應用程序。
  • 無論如何,Groovy也是JVM語言幾乎類似于Java語言??梢詫roovy和Java組合成一個項目。因為就像Java文件一樣,Groovy文件最終只能編譯成 .class 文件。 .groovy 和 .java 文件都轉換為 .class 文件(相同字節代碼格式)。
  • Spring Boot框架編程模型的靈感來自Groovy編程模型。 Spring Boot在內部使用一些基于Groovy的技術和工具來提供默認的導入和配置。
  • Spring Boot框架還將現有的Spring Framework注釋組合為一些簡單或單個注釋。 我們將在后面的帖子中逐個探索這些注釋,并附帶一些實時示例。
  • Spring Boot框架將Spring-Java應用程序編程模型徹底改變為新的編程模型。到目前為止,Spring Boot只處于初始階段,但未來肯定都使用Spring Boot。
  • Spring Boot CLI

  • 它是使用Spring Boot的最簡單和最快速的方法。它是一個用于執行groovy腳本的命令行工具??梢园凑找韵虏襟E安裝此工具:
  • 從這里下載此項目的二進制發行版。 Spring Boot CLI需要Java JDK V1.6或更高版本才能運行。 Groovy v2.1作為此分發包的一部分進行打包,因此不需要安裝(任何現有的Groovy安裝都將被忽略)
  • 如果解壓zip文件,就會發現spring.bat將檢查所有的設置。此腳本可以在目錄/bin下找到。
  • 下載Spring Boot CLI Zip文件到本地文件系統,并將spring-boot-cli-1.4.3.RELEASE.zip文件解壓縮到本地文件系統中,在本實例中我們解壓到 D:\software\yiibai\spring-1.4.3.RELEASE 目錄下。
  • 右鍵“我的電腦”->”高級系統設置”->”高級”->”環境變量”->選擇”PATH”并新建并加上面的路徑D:\software\yiibai\spring-1.4.3.RELEASE\bin;。如下圖所示 -
  • 執行以下命令驗證安裝結果 -

    C:\Users\Administrator>spring --version Spring CLI v1.4.3.RELEASE
  • 現在Spring Boot CLI安裝過程已成功完成。在討論Spring Boot “HelloWorld”示例之前,首先要確定從命令提示符運行Groovy腳本是否正確。
  • Spring Boot “Spring”命令

  • Spring Boot CLI提供了一個“spring”命令,用來從命令提示符運行Spring Boot Groovy腳本。Spring Boot 的“spring –help”命令有很多選項,可以將此命令用于不同的目的。其中有一個重要的選項是“run”選項。

    spring run

  • Spring Boot 的 Hello World 實例

  • 可以用Spring Boot開發兩種基于Spring的應用程序
  • Groovy應用程序
  • Java應用程序
  • Grovvy程序:

  • 在本地文件系統中創建一個“HelloWorld”文件夾,放置groovy腳本,這里放在 D:\software\yiibai\spring-1.4.3.RELEASE 目錄下。
  • 使用以下內容開發Groovy腳本文件。

    @RestController class HelloWorld {@RequestMapping("/")String hello() {"Hello JournalDev World."} }
  • 將此文件命名為HelloWorld.groovy,這里的“.groovy”擴展名是必須的。
  • 現在Spring Boot Hello World示例已準備好使用Spring MVC Rest控制器。運行和測試這個例子來了解Spring Boot框架。在本地文件系統中的“HelloWorld”文件夾中打開命令提示符。執行以下命令 -

    spring run HelloWorld.groovy

  • 當執行“spring run HelloWorld.groovy”時,它會啟動嵌入的Tomcat服務器的默認端口號:8080?,F在Spring Boot Hello World示例應用程序已啟動并正在運行。下面打開瀏覽器來測試一下。打開瀏覽器并訪問以下鏈接。訪問此URL:http://localhost:8080/
  • 七 、 Spring Boot 安裝

  • 在安裝之前確保 機器中已經安裝了JDK1.6 及以上版本
  • 如果你是一個Java 新手 , 或者你只想體驗Spring Boot , 你可以首先嘗試Spring Boot CLI
  • 可以使用與標準Java庫的方式來使用Spring Boot。只需在類路徑中包含適當的spring-boot-*.jar文件即可。 Spring Boot不需要任何特殊工具集成,因此可以使用任何IDE或文本編輯器; 并且Spring Boot應用程序沒有什么特別之處,因此您可以像任何其他Java程序一樣運行和調試。
  • 雖然可以直接復制 Spring Boot.jar 但是還是建議使用一個依賴管理工具 maven
  • 使用maven 安裝 Spring Boot

  • Spring Boot 與maven 3.2 版本及以上兼容 。
  • Spring引導依賴項groupId使用org.springframework.boot。 通常Maven POM文件將繼承自spring-boot-starter-parent項目,并將依賴性聲明為一個或多個“Starters”。 Spring Boot還提供了一個可選的Maven插件來創建可執行jar。
  • 一個典型的pom.xml 文件的內容:

    <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.example</groupId><artifactId>myproject</artifactId><version>0.0.1-SNAPSHOT</version><!-- Inherit defaults from Spring Boot --><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>1.4.3.RELEASE</version></parent><!-- Add typical dependencies for a web application --><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency></dependencies><!-- Package as an executable jar --><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build></project>
  • spring-boot-starter-parent是使用Spring Boot的一個很好的方法,但它可能并不適合所有的時候。 有時可能需要從不同的父POM繼承,或者可能只是不喜歡默認設置。

  • 安裝Spring Boot CLI
  • Spring Boot CLI是一個命令行工具,如果想要使用Spring快速原型化,可以使用它。它允許運行Groovy腳本,它有一個類似Java的語法,沒有那么多的樣板代碼。
  • 不一定需要CLI來使用Spring Boot,但它絕對是讓Spring應用程序實現的最快捷方式。
  • 具體安裝方式 參考上文 。
  • 八 、 Spring Boot 應用程序開發入門

  • 在Java中開發一個簡單的“Hello World!” Web應用程序,突出一些Spring Boot的主要特性。在這里將使用Maven來構建這個項目,因為大多數IDE支持它。
  • 開始之前,打開一個終端,檢查是否安裝了Java和Maven的有效版本。

    C:\Users\Administrator>java -version java version "1.8.0_65" Java(TM) SE Runtime Environment (build 1.8.0_65-b17) Java HotSpot(TM) 64-Bit Server VM (build 25.65-b01, mixed mode)C:\Users\Administrator>mvn -v Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-11T00:41:47+08:00) Maven home: D:\worksp\yiibai.com\apache-maven-3.3.9 Java version: 1.8.0_65, vendor: Oracle Corporation Java home: D:\Program Files\Java\jdk1.8.0_65\jre Default locale: zh_CN, platform encoding: GBK OS name: "windows 10", version: "10.0", arch: "amd64", family: "dos"
  • 此示例需要在其自己的文件夾中創建。后續說明假定您已創建了一個合適的文件夾,并且它是“當前目錄”。
  • 創建POM.XML文件 : 我們需要從創建一個Maven pom.xml文件開始。pom.xml是將用于構建項目的配置,在這個示例中,把它放在 D:\spring-boot\pom.xml 。打開您喜歡的文本編輯器并添加以下內容:

    <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.example</groupId><artifactId>myproject</artifactId><version>0.0.1-SNAPSHOT</version><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>1.4.3.RELEASE</version></parent><!-- Additional lines to be added here... --></project>
  • 它給出了一個工作構建,可以通過運行mvn package(可以忽略“jar will be empty - no content was marked for inclusion!”現在警告)測試它。
  • 添加類路徑依賴項

  • Spring Boot提供了一些“啟動器”,使得容易添加 jar 到你的類路徑。在我們的示例應用程序已經在POM的父部分中使用了spring-boot-starter-parent。spring-boot-starter-parent是一個特殊的啟動器,提供了有用的 Maven 默認值。 它還提供了一個依賴關系管理部分,以便您可以省略“blessed”依賴關系的 version 標簽。
  • 其他“Starters”只是提供了在開發特定類型的應用程序時可能需要的依賴關系。由于我們正在開發一個web應用程序,將添加一個spring-boot-starter-web依賴關系。 可以通過 mvn dependency:tree 查看依賴樹以解決jar包沖突問題
  • 可以看到spring-boot-starter-parent本身不提供依賴關系。現在編輯 pom.xml 文件,并在parent部分的下面添加spring-boot-starter-web依賴關系:

    <dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency> </dependencies>
  • 再次運行 mvn denpendency:tree 命令 , 將看到現在有許多的其他依賴項 , 包括Tomcat web服務器和Spring Boot 本身 。
  • 編寫代碼

  • 我們需要創建一個單一的Java文件。Maven將默認從src/main/java編譯源代碼,所以需要創建該文件夾結構,然后添加一個名為src/main/java/Example.java的文件,完整的文件路徑是 D:/spring-boot/src/main/java/Example.java,代碼如下所示:

    import org.springframework.boot.*; import org.springframework.boot.autoconfigure.*; import org.springframework.stereotype.*; import org.springframework.web.bind.annotation.*;@RestController @EnableAutoConfiguration public class Example {@RequestMapping("/")String home() {return "Hello World!"; // Copyright: w w w . y i I b A i.c O m }public static void main(String[] args) throws Exception {SpringApplication.run(Example.class, args);}}
  • 雖然這里沒有太多的代碼,但背后有很多事情正在發生。讓我們看看代碼的重要部分。
  • @RestController 和 @RequestMapping注解
  • Example類的第一個注解是@RestController。這稱為構造型注釋,它為閱讀代碼的人提供了提示,對于Spring,該類扮演了一個特定的角色。在這種情況下,這個類是一個web @Controller,因此Spring會在處理傳入的Web請求時考慮它。
  • @RequestMapping注解提供了“路由”信息。它告訴Spring任何帶有路徑“/”的HTTP請求應該映射到home方法。@RestController注解告訴Spring將生成的字符串直接返回給調用者。
  • @RestController和@RequestMapping注解是Spring MVC注釋(它們不是Spring Boot特有的)。
  • @EnableAutoConfiguration注解
  • 第二個類級別注解是@EnableAutoConfiguration。這個注解告訴Spring Boot“猜測”將如何配置Spring,它是基于添加的jar依賴。 由于spring-boot-starter-web添加了Tomcat和Spring MVC,因此自動配置將假設正在開發一個Web應用程序并相應地設置Spring。
  • “main”方法
  • 應用程序的最后一部分是主(main)方法。 這只是一個遵循Java約定的應用程序入口點的標準方法。main方法通過調用run來委托Spring Boot SpringApplication類。SpringApplication將引導應用程序,啟動Spring,從而啟動自動配置Tomcat Web服務器。需要傳遞Example.class作為run方法的參數來告訴SpringApplication,這是主要的Spring組件。args數組也被傳遞以暴露任何命令行參數。
  • 運行代碼

  • 現在,我們的應用程序應該可以正常運行工作了。由于 POM 中使用了spring-boot-starter-parent,有一個有用的 run 目標,用它來啟動應用程序。輸入 mvn spring-boot:run 從根項目目錄啟動應用程序:

    . ____ _ __ _ _/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \\\/ ___)| |_)| | | | | || (_| | ) ) ) )' |____| .__|_| |_|_| |_\__, | / / / /=========|_|==============|___/=/_/_/_/ ::Spring Boot:: (v1.4.3.RELEASE) ....... . . . ....... . . . (log output here) ....... . . . ........ Started Example in 2.222 seconds (JVM running for 6.514)
  • 如果打開Web瀏覽器訪問 http://localhost:8080 , 應該會看到以下輸出:
  • 創建可執行jar

  • 現在,我們來完成一個例子,創建一個完全自包含的可執行jar文件,可以在生產中運行??蓤绦衘ar(有時稱為“fat jar”)是包含編譯的類以及需要運行的所有jar依賴性的代碼存檔。

    可執行jar和Java Java不提供任何標準方法來加載嵌套的jar文件(即包含在jar中的jar文件)。如果想要分發一個自包含的應用程序,這可能是有問題的。 為了解決這個問題,許多開發人員使用“uber” jar。 一個uber jar簡單地將所有類,從所有jar到一個單一的歸檔。這種方法的問題是,很難看到實際上在應用程序中使用哪些庫。如果在多個jar中使用相同的文件名(但是具有不同的內容),它也可能是有問題的。 Spring Boot采用不同的方法,并允許直接嵌套JAR。 要創建可執行的jar,需要將spring-boot-maven-plugin添加到pom.xml文件中。 在dependencies部分下面插入以下行: <build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins> </build>
  • POM 中 spring-boot-starter-parent 包括配置以綁定 repackage 目標。如果不使用父POM,則需要自己聲明此配置。有關詳細信息,請參閱插件文檔。
  • 在 target 目錄中,應該看到一個myproject-0.0.1-SNAPSHOT.jar文件。文件大小應為10 Mb左右。如果想看里面內容,可以使用jar tvf:

    【Linux環境下】jar tvf target/myproject-0.0.1-SNAPSHOT.jar

  • 應該在target目錄中看到一個名為myproject-0.0.1-SNAPSHOT.jar.original的文件。這是Maven在Spring Boot重新打包之前創建的原始jar文件。
  • 要運行該應用程序,請使用java -jar命令:

    java -jar target/myproject-0.0.1-SNAPSHOT.jar. ____ _ __ _ _/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \\\/ ___)| |_)| | | | | || (_| | ) ) ) )' |____| .__|_| |_|_| |_\__, | / / / /=========|_|==============|___/=/_/_/_/ ::Spring Boot:: (v1.4.3.RELEASE) ....... . . . ....... . . . (log output here) ....... . . . ........ Started Example in 2.536 seconds (JVM running for 2.864)

  • 如果打開Web瀏覽器訪問 http://localhost:8080 , 應該會看到以下輸出:
  • 第一個Spring Boot 引用程序開發完成 。
  • 總結

    以上是生活随笔為你收集整理的Spring Boot (一)Spring Boot 概述的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。