<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          推薦一個(gè) Spring Boot 快速開發(fā)利器

          共 6724字,需瀏覽 14分鐘

           ·

          2022-01-18 18:05


          Spring boot CLI是運(yùn)行spring boot命令的命令行界面。Spring提供了用于創(chuàng)建、運(yùn)行和測(cè)試spring boot應(yīng)用程序的spring命令。
          Spring boot CLI應(yīng)用程序使用groovy語言,通過這種方式,我們用最少的代碼行創(chuàng)建我們的應(yīng)用程序并啟動(dòng)它。
          使用groovy的Spring boot CLI具有以下特點(diǎn)。

          1. Spring boot CLI應(yīng)用程序使用groovy。我們?cè)趹?yīng)用程序中創(chuàng)建groovy文件,為此我們不需要提供groovy的任何JAR依賴。Spring boot會(huì)自己配置groovy的JAR依賴項(xiàng)。

          2. 在編寫groovy文件時(shí),我們不需要寫導(dǎo)入語句,直到需要為止。在寫導(dǎo)入語句之前,我們應(yīng)該檢查我們是否得到導(dǎo)入錯(cuò)誤。通過這種方式,我們盡可能地寫出最少的代碼行數(shù)。

          3. Spring boot CLI不需要任何構(gòu)建工具。Spring boot以與Maven和Gradle相同的方式自動(dòng)抓取spring依賴JAR包。版本是從Spring Boot CLI的版本中提取的。
          4. Spring boot下載JAR依賴項(xiàng)時(shí),通過記住我們?cè)趹?yīng)用程序編碼中使用了哪些spring注解和類。如果我們使用@Controller注解,那么Spring Boot就會(huì)下載Spring Web應(yīng)用程序的JAR依賴項(xiàng)。
          5. 為了下載第三方依賴的JAR,如thymleaf,spring boot使用@Grab注釋groovy功能。
          6. Spring boot提供spring run命令來運(yùn)行應(yīng)用程序,spring test命令來運(yùn)行spring測(cè)試應(yīng)用程序。
          7. 我們可以使用spring boot命令行創(chuàng)建可執(zhí)行的JAR文件。對(duì)于應(yīng)用程序的打包,spring boot提供spring jar命令。
          8. 使用命令行界面,我們可以使用spring init命令從spring initializer站點(diǎn)創(chuàng)建項(xiàng)目。
          9. Spring boot為Windows用戶提供了使用spring shell命令的集成外殼。
          10. 使用spring boot CLI時(shí),我們不需要?jiǎng)?chuàng)建spring boot main()方法。它是由spring boot CLI自動(dòng)提供的。
          在這一篇,我們將安裝spring boot CLI,然后我們將創(chuàng)建一個(gè)spring boot CLI示例應(yīng)用程序,并運(yùn)行它和測(cè)試它。


          1

          安裝 Spring Boot CLI

          要使用Spring boot CLI,首先我們需要在系統(tǒng)中安裝它。有很多方法可以安裝Spring boot CLI。
          • 手動(dòng)安裝
          • 使用SDKMAN進(jìn)行安裝!
          • OSX自制軟件的安裝
          • MacPorts的安裝
          • 命令行完成
          找到Spring boot CLI安裝細(xì)節(jié)的鏈接。在我的例子中,我將在我的Windows 7操作系統(tǒng)中使用手動(dòng)安裝來安裝Spring boot CLI。找到下面的步驟。
          步驟1:使用以下鏈接下載Spring boot CLI
          http://repo.spring.io/release/org/springframework/boot/spring-boot-cli/1.4.3.RELEASE/spring-boot-cli-1.4.3.RELEASE-bin.zip
          步驟2:解壓縮并保存在你系統(tǒng)的某個(gè)地方。假設(shè)我把它保存在如下位置。
          C:\spring-1.4.3.RELEASE
          現(xiàn)在我們需要在我們的系統(tǒng)中設(shè)置以下環(huán)境變量。
          • SPRING_HOME的值為C:\spring-1.4.3.RELEASE
          • PATH的值為C:\spring-1.4.3.RELEASE\bin
          步驟3:現(xiàn)在我們將測(cè)試我們的安裝。打開命令提示符并鍵入命令spring,我們將得到以下結(jié)果。
          查找更多Spring boot CLI命令。
          • spring help run : 提供支持的命令的詳細(xì)信息。
          • spring version : 提供Spring boot CLI的版本。
          現(xiàn)在我們可以開始使用Spring boot CLI了。

          ?

          2

          演示項(xiàng)目結(jié)構(gòu)

          找到演示項(xiàng)目結(jié)構(gòu),我們將使用spring boot CLI和groovy來運(yùn)行。
          spring-app
          ???|
          ????--message.groovy??
          ????--hello.groovy?
          ????--tests.groovy
          ????--templates
          ?????????|
          ??????????--hello.html
          ????--static
          ????????|
          ?????????--index.html?


          3

          用 Spring Boot CLI 創(chuàng)建 Hello World 示例

          我們將使用Groovy創(chuàng)建一個(gè)簡(jiǎn)單的 "Hello World"網(wǎng)絡(luò)應(yīng)用。請(qǐng)看下面的代碼。
          hello.groovy
          @RestController
          class?HelloController?{
          ????@RequestMapping("/home")
          ????String?home()?{
          ????????"Hello?World!"
          ????}
          }?
          當(dāng)我們使用Spring boot CLI和Groovy時(shí),我們可以用最少的代碼運(yùn)行我們的應(yīng)用程序。在我們的代碼中,我們將得到以下結(jié)果。

          1. 默認(rèn)的導(dǎo)入語句。在大多數(shù)情況下,我們不需要導(dǎo)入API。只有在不屬于默認(rèn)導(dǎo)入語句的情況下才可以導(dǎo)入。

          2. spring boot沒有main方法。它將被自動(dòng)創(chuàng)建。

          為了編譯和運(yùn)行Groovy源代碼,Spring boot CLI提供了run命令,我們按以下方式調(diào)用。
          spring?run?hello.groovy?
          使用該命令,我們實(shí)現(xiàn)了以下幾點(diǎn)。
          1. 它下載所有的依賴性JAR。依賴性JAR的版本由我們所使用的Spring boot CLI的版本決定。下載JAR只在第一次時(shí)進(jìn)行。
          2. 依賴性JAR是由代碼中使用的類和注解定義的。由于我們使用的是@RestController,所以會(huì)下載與Spring MVC和嵌入式Tomcat相關(guān)的JAR。
          3. 現(xiàn)在它編譯代碼并在默認(rèn)端口8080上啟動(dòng)嵌入式Tomcat服務(wù)器。
          找到打印界面。
          通過URL http://localhost:8080/home 來訪問該應(yīng)用程序。
          如果我們想改變默認(rèn)端口,那么我們需要用server.port運(yùn)行命令,如下所示。
          spring?run?hello.groovy?--?--server.port=8484?
          我們需要注意,我們將使用分隔符--與spring命令參數(shù)--server.port一起。現(xiàn)在,嵌入式Tomcat將以8484端口啟動(dòng),為了運(yùn)行應(yīng)用程序,我們需要使用http://localhost:8484/home來訪問。
          如果我們有多個(gè)groovy文件,并且要一起運(yùn)行所有這些groovy文件,我們可以使用以下命令。
          spring?run?*.groovy?


          4

          使用 @Grab 注釋

          Groovy提供了@Grab注解來解決JAR的依賴性。Spring boot也支持@Grab注解,只解決第三方的依賴。根據(jù)Spring注解和應(yīng)用程序中使用的類,Spring的依賴性被自動(dòng)抓取。
          它下載JAR的方式與Maven和Gradle相同,無需使用任何構(gòu)建工具。我們使用@Grab注解來下載第三方依賴,如下所示。
          @Grab('spring-boot-starter-thymeleaf')
          class?MessageController?{}?
          在上面的代碼中,我們將看到我們只需要傳遞artifact id。Group id 和 version將從spring boot的默認(rèn)依賴元數(shù)據(jù)中獲取。現(xiàn)在找到這個(gè)例子中使用的groovy和HTML文件。
          message.groovy
          @Controller
          @Grab('spring-boot-starter-thymeleaf')
          class?MessageController?{
          ????@RequestMapping("/msg")
          ?String?getMsg(Model?model)?{
          ?????String?msg?=?"Welcome?to?Everyone!";
          ????????model.addAttribute("message",?msg);
          ????????return?"hello";
          ????}
          }?
          templates/hello.html
          HTML>
          <html?xmlns:th="http://www.thymeleaf.org">
          <head>?
          ????<title>Spring?Boot?CLI?Exampletitle>?
          ????<meta?http-equiv="Content-Type"?content="text/html;?charset=UTF-8"?/>
          head>
          <body>?
          ????<p?th:text="'Message:?'?+?${message}"?/>
          body>
          html>?
          static/index.html
          HTML>
          <html>
          <head>?
          ????<title>Spring?Boot?CLI?Exampletitle>?
          ????<meta?http-equiv="Content-Type"?content="text/html;?charset=UTF-8"?/>
          head>
          <body>
          ????<p>Click?to?get?<a?href="/msg">Messagea>?p>
          body>
          html>?
          要運(yùn)行這個(gè)例子,在項(xiàng)目的根目錄下用命令提示符運(yùn)行以下命令。
          spring?run?*.groovy?
          現(xiàn)在訪問 http://localhost:8080/
          Spring boot只需要@Grab注解來解決第三方JAR,例如spring-boot-starter-thymeleaf,freemarker等。Spring boot會(huì)根據(jù)需要自動(dòng)抓取spring JAR。
          例如,如果我們使用以下注解和類,那么相關(guān)的JAR依賴將被自動(dòng)下載。
          1. @Controller @RestController @EnableWebMvc : 在這種情況下,Spring MVC和嵌入式Tomcat將被下載。
          2. @EnableWebSecurity : Spring安全相關(guān)的JAR將被下載。
          3. @EnableJms: JMS應(yīng)用程序相關(guān)的JAR將被下載。
          4. @Test : 將會(huì)下載Spring測(cè)試應(yīng)用相關(guān)的JAR。
          具體請(qǐng)查看鏈接中的Deduced “grab” Dependencies部分

          ?

          5

          Spring Boot CLI 測(cè)試應(yīng)用程序

          Spring boot CLI提供了test命令,我們可以用它來測(cè)試我們的spring boot應(yīng)用程序。找到我們例子中使用的groovy類來測(cè)試hello.groovy。
          tests.groovy
          class?ApplicationTests?{
          ????@Test
          ????void?HelloAppTest()?{
          ????????assertEquals("Hello?World!",?new?HelloController().home())
          ????}
          }?
          要運(yùn)行測(cè)試應(yīng)用程序,請(qǐng)使用以下命令。
          spring?test?hello.groovy?tests.groovy?
          上述命令的說明如下。
          • spring test:Spring boot CLI命令,用于測(cè)試應(yīng)用程序。
          • hello.groovy:需要測(cè)試的應(yīng)用程序文件。
          • tests.groovy:測(cè)試文件,用于測(cè)試應(yīng)用程序文件。
          運(yùn)行該命令后,我們得到的結(jié)果如下。

          6

          使用 Spring Boot CLI 打包應(yīng)用程序

          Spring boot CLI提供了jar命令來打包我們的應(yīng)用程序。我們可以按以下方式使用它。
          spring?jar?spring-app.jar?*.groovy?
          這將創(chuàng)建兩個(gè)JAR。
          • spring-app.jar : 這是可執(zhí)行的JAR。
          • spring-app.jar.original : 這是原JAR。
          可執(zhí)行的jar文件的運(yùn)行方式如下。
          java?-jar?spring-app.jar?
          找到打印界面。
          在打包應(yīng)用程序時(shí),spring boot默認(rèn)包括以下目錄。
          public/**,?resources/**,?static/**,?templates/**,?META-INF/**
          而默認(rèn)的排除目錄是
          repository/**,?build/**,?target/**,?**/*.jar,?**/*.groovy?
          使用--include,我們可以將默認(rèn)排除目錄添加到打包的目錄中。使用--exclude,我們可以刪除打包的目錄。有關(guān)更多詳細(xì)信息,我們可以按如下方式運(yùn)行help命令。
          spring?help?jar?


          7

          使用 Spring Boot CLI 創(chuàng)建一個(gè)新項(xiàng)目

          使用init命令,Spring boot CLI可以用maven作為默認(rèn)的構(gòu)建工具創(chuàng)建一個(gè)新項(xiàng)目,該工具使用https://start.spring.io。假設(shè)我們想用thymleaf創(chuàng)建一個(gè)Web項(xiàng)目,那么我們將運(yùn)行如下命令。
          spring?init?--dependencies=web,thymeleaf?my-app.zip?
          在pom.xml中,web,thymeleaf的依賴關(guān)系將配置為以下spring boot啟動(dòng)器。
          spring-boot-starter-web
          spring-boot-starter-thymeleaf
          ?
          my-app.zip文件將被下載到我們運(yùn)行命令的目錄中。
          如果我們想使用Gradle構(gòu)建工具,用任何特定的java版本構(gòu)建WAR文件,那么我們可以運(yùn)行如下命令。
          spring?init?--build=gradle?--java-version=1.8?--dependencies=web,thymeleaf?--packaging=war?my-app.zip?


          8

          使用嵌入式 Shell

          Spring boot有BASH和Zsh shells的命令行完成腳本。
          如果我們使用WINDOWS,Spring Boot提供shell命令來啟動(dòng)一個(gè)集成shell。如果使用WINDOWS,那么使用以下命令啟動(dòng)集成shell。
          spring?shell?
          現(xiàn)在我們可以直接運(yùn)行命令而不使用spring關(guān)鍵字,如
          $?version
          $?test?hello.groovy?tests.groovy
          $?run?hello.groovy?
          找到打印界面。

          參考文獻(xiàn)

          http://docs.spring.io/spring-boot/docs/current/reference/html/getting-started-installing-spring-boot.html

          https://docs.spring.io/spring-boot/docs/current/reference/html/cli-using-the-cli.html

          https://www.concretepage.com/spring-boot/spring-boot-cli-example


          源碼下載

          https://www.concretepage.com/spring-boot/download/spring-boot-cli-example.zip


          來源:blog.csdn.net/qq_31635851/article/details/120411711



          往期推薦



          更快 Maven 來襲,性能大幅提升!

          Kafka那些值得我們學(xué)習(xí)的優(yōu)秀設(shè)計(jì)

          徹底搞懂 MyBaits 中#{}和${}的區(qū)別,#{}如何防止注入?

          MySQL模糊查詢?cè)僖灿貌恢?like+% 了!

          面試官:跨庫(kù)多表存在大量數(shù)據(jù)依賴問題有哪些解決方案?

          Docker 大勢(shì)已去,Podman 即將崛起



          瀏覽 32
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  操人视频网站 | 久久婷婷激情视频 | 正在播放探花系列av | 波多野结衣群交 | 成人影院天天爽 |