Spring Boot四大神器之CLI的具體使用
1. Spring Boot CLI簡(jiǎn)介:
官網(wǎng)地址:
https://docs.spring.io/spring-boot/docs/current/reference/html/cli.html#cli.
安裝官網(wǎng)地址: https://docs.spring.io/spring-boot/docs/current/reference/html/getting-started.html#getting-started.installing.cli.
Spring Boot CLI 是一個(gè)命令行工具,如果您想要快速開發(fā)spring應(yīng)用程序,您可以使用該工具。它可以讓你運(yùn)行Groovy腳本,這意味著你有一個(gè)熟悉的java語(yǔ)法,沒有這么多的樣板代碼。您也可以啟動(dòng)一個(gè)新項(xiàng)目或?yàn)樗帉懽约旱拿睢?/p>
Spring Boot CLI是一種快速開發(fā)Spring應(yīng)用的命令行界面。CLI就是Command Line Interface的簡(jiǎn)寫,CLI利用了Spring Boot的起步依賴和自動(dòng)配置,可以讓人們專注于代碼本身,而不用完成繁瑣的配置。實(shí)際上Spring Boot的本質(zhì)就是用來(lái)簡(jiǎn)化繁瑣的Spring配置,不過CLI的使用真的是讓開發(fā)Spring程序變得非常快速。
CLI可以檢測(cè)到代碼中使用的類,知道需要給Classpath中添加的哪些起步依賴才能讓程序運(yùn)行起來(lái)。而且當(dāng)添加完依賴之后就會(huì)完成自動(dòng)配置,確保啟用后DispatcherServlet和Spring MVC,這樣就可以響應(yīng)HTTP請(qǐng)求了。所以說想要用CLI來(lái)編寫一個(gè)Spring的“HelloWorld”是非??焖俚?。分別介紹一下Windows和Linux的安裝。
2. 安裝CLI:
四種安裝方法:這里我們使用通用的手動(dòng)安裝。
手動(dòng)安裝:
手動(dòng)安裝在Windows, Mac, Linux系統(tǒng)都可以使用
您可以從spring軟件存儲(chǔ)庫(kù)下載 Spring CLI 安裝包:
(1)下載:
widows版本:
spring-boot-cli-2.5.6-bin.zip:https://repo.spring.io/ui/native/release/org/springframework/boot/spring-boot-cli/2.5.6.
linux版本:
spring-boot-cli-2.5.6-bin.tar.gz:https://repo.spring.io/ui/native/release/org/springframework/boot/spring-boot-cli/2.5.6.
INSTALL.txt安裝文檔如下:
先決條件 ------------- Spring Boot CLI需要Java JDK v1.8或以上版本才能運(yùn)行。Groovy v $ {groovy.version} 打包為這個(gè)發(fā)行版的一部分,因此不需要安裝(忽略現(xiàn)有的Groovy安裝)。 CLI將使用它在路徑上找到的任何JDK,以檢查您是否有合適的JDK 你應(yīng)該運(yùn)行的版本: java - version 或者,您可以設(shè)置JAVA_HOME環(huán)境變量以指向合適的JDK。 環(huán)境變量:(下載之后進(jìn)行解壓到一個(gè)目錄,然后將解壓后的bin目錄添加到Path環(huán)境變量即可。) 檢查你的安裝 -------------------------- 測(cè)試命令行是否安裝成功,可以執(zhí)行以下命令: spring --version
(2)解壓:
當(dāng)你完成需要的歸檔文件下載到你本地計(jì)算機(jī)后,解壓到c/d盤的不帶中文的目錄下。
(3)配置系統(tǒng)環(huán)境變量:
然后將解壓后的bin目錄添加到Path環(huán)境變量即可:
(4)測(cè)試是否安裝成功:
win+r后輸入cmd:出現(xiàn)windows控制臺(tái),輸入:spring --version
3. 運(yùn)行Groovy腳本
您可以使用命令編譯和運(yùn)行 Groovy 源代碼。springboot CLI 是完全自成一體的,因此您不需要任何外部 Groovy 安裝。
在完成了Spring Boot CLI的安裝之后,我們來(lái)試試使用它來(lái)快速的構(gòu)建一個(gè)Spring Boot應(yīng)用,方法很簡(jiǎn)單,只需要如下操作:
第一步:新建一個(gè)Groovy腳本,hello.groovy,內(nèi)容如下:
@RestController class ThisWillActuallyRun { @RequestMapping("/") String home() { "Hello World!--------" } }
或者Java版本,hello.java文件內(nèi)容如下:
@RestController public class Hello { @RequestMapping("/hello") public String hello() { return "Hello World Java!"; } }
如圖我的hello.groovy文件存放的位置:(在hello.groovy文件所在目錄下輸入cmd)
第二步:使用spring命令運(yùn)行該Groovy腳本,具體如下:
要編譯和運(yùn)行應(yīng)用程序,鍵入以下命令:
spring run hello.groovy
擴(kuò)展;
要將命令行參數(shù)傳遞給應(yīng)用程序,請(qǐng)使用將命令與"spring"命令參數(shù)分開,如下示例所示:–
spring run hello.groovy – --server.port=9000
要設(shè)置 JVM 命令行參數(shù),您可以使用環(huán)境變量,如下示例所示:JAVA_OPTS:
JAVA_OPTS=-Xmx1024m spring run hello.groovy
注意:當(dāng)在Windows上設(shè)置時(shí), 請(qǐng)務(wù)必引用整個(gè)指令,例如 。這樣做可以確保將值正確傳遞到流程中。JAVA_OPTSset “JAVA_OPTS=-Xms256m -Xmx2048m”
第三步:網(wǎng)頁(yè)測(cè)試訪問:http://localhost:8080/
訪問controller成功;
測(cè)試java版本:http://localhost:8080/hello
訪問controller成功;
4. CLI運(yùn)行原理說明:(CLI幫我們做了什么?)
(1)推斷"抓"依賴性:
標(biāo)準(zhǔn) Groovy 包含一個(gè)注釋,允許您聲明對(duì)第三方庫(kù)的依賴性。這種有用的技術(shù)允許Groovy下載jar的方式與maven或Gradle一樣,但無(wú)需您使用構(gòu)建工具@Grab
Spring Boot 進(jìn)一步擴(kuò)展了此技術(shù),并嘗試根據(jù)您的代碼推斷出哪些庫(kù)要"抓取"。例如,由于以前顯示的代碼使用注釋,因此springboot可抓取"tomcat"和"spring MVC"。WebApplication@RestController
(2)推斷"抓取"坐標(biāo):
springboot擴(kuò)展 Groovy 的標(biāo)準(zhǔn)支持,允許您指定沒有g(shù)roup或版本的依賴(例如)。這樣做會(huì)查閱 Spring Boot 的默認(rèn)依賴性元數(shù)據(jù),以推斷出該產(chǎn)品體的組和版本依賴。@Grab@Grab(‘freemarker')
(3)自動(dòng)主方法:
與等效的 Java 應(yīng)用程序不同,您不需要在腳本中包含一種方法。主方法是自動(dòng)創(chuàng)建的,自動(dòng)幫我們創(chuàng)建了如下代碼:
public static void main(String[] args)GroovySpringApplicationsource
(4)自定義依賴性管理:
默認(rèn)情況下,CLI 在解決依賴關(guān)系時(shí)使用所申報(bào)的依賴管理。額外的依賴管理,覆蓋默認(rèn)依賴管理,可以通過使用注釋進(jìn)行配置。注釋值應(yīng)指定一個(gè)或多個(gè) Maven BOM 的坐標(biāo):
spring-boot-dependencies@Grab@DependencyManagementBomgroupId:artifactId:version
例如,請(qǐng)考慮以下聲明:
@DependencyManagementBom(“com.example.custom-bom:1.0.0”)
當(dāng)您指定多個(gè) BOM 時(shí),它們將按您聲明它們的順序應(yīng)用,如下示例所示:
@DependencyManagementBom([ "com.example.custom-bom:1.0.0", "com.example.another-bom:1.0.0"])
到此這篇關(guān)于Spring Boot四大神器之CLI的具體使用的文章就介紹到這了,更多相關(guān)Spring Boot CLI內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
淺析 ArrayList 和 LinkedList 有什么區(qū)別
ArrayList 和 LinkedList 有什么區(qū)別,是面試官非常喜歡問的一個(gè)問題。今天通過本文給大家詳細(xì)介紹下,感興趣的朋友跟隨小編一起看看吧2020-10-10基于@MapperScan和@ComponentScan的使用區(qū)別
這篇文章主要介紹了@MapperScan和@ComponentScan的使用區(qū)別,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-09-09基于LinkedHashMap實(shí)現(xiàn)LRU緩存
LinkedHashMap是Java集合中一個(gè)常用的容器,它繼承了HashMap, 是一個(gè)有序的Hash表。那么該如何基于LinkedHashMap實(shí)現(xiàn)一個(gè)LRU緩存呢?本文將介紹LinkedHashMap的實(shí)現(xiàn)原理,感興趣的同學(xué)可以參考一下2023-05-05springboot用thymeleaf模板的paginate分頁(yè)完整代碼
本文根據(jù)一個(gè)簡(jiǎn)單的user表為例,展示 springboot集成mybatis,再到前端分頁(yè)完整代碼,需要的朋友可以參考下2017-07-07SpringBoot集成P6spy實(shí)現(xiàn)自定義SQL日志打印
本文主要介紹了SpringBoot集成P6spy實(shí)現(xiàn)自定義SQL日志打印,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07Java中使用JDBC操作數(shù)據(jù)庫(kù)簡(jiǎn)單實(shí)例
這篇文章主要介紹了Java中使用JDBC操作數(shù)據(jù)庫(kù)簡(jiǎn)單實(shí)例,本文以Mysql為例介紹使用Java JDBC操作數(shù)據(jù)庫(kù)的6個(gè)步驟,需要的朋友可以參考下2015-06-06JDK1.7 Paths,Files類實(shí)現(xiàn)文件夾的復(fù)制與刪除的實(shí)例
下面小編就為大家分享一篇JDK1.7 Paths,Files類實(shí)現(xiàn)文件夾的復(fù)制與刪除的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。以前跟隨小編過來(lái)看看吧2017-11-11Java 8跳過本次循環(huán),繼續(xù)執(zhí)行以及跳出循環(huán),終止循環(huán)的代碼實(shí)例
今天小編就為大家分享一篇關(guān)于Java 8跳過本次循環(huán),繼續(xù)執(zhí)行以及跳出循環(huán),終止循環(huán)的代碼實(shí)例,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2018-10-10