推薦一個(gè) Spring Boot 快速開發(fā)利器
Spring boot CLI應(yīng)用程序使用groovy語言,通過這種方式,我們用最少的代碼行創(chuàng)建我們的應(yīng)用程序并啟動(dòng)它。
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ù)。
@Controller注解,那么Spring Boot就會(huì)下載Spring Web應(yīng)用程序的JAR依賴項(xiàng)。@Grab注釋groovy功能。spring run命令來運(yùn)行應(yīng)用程序,spring test命令來運(yùn)行spring測(cè)試應(yīng)用程序。spring jar命令。spring initializer站點(diǎn)創(chuàng)建項(xiàng)目。spring shell命令的集成外殼。spring boot main()方法。它是由spring boot CLI自動(dòng)提供的。1
安裝 Spring Boot CLI
手動(dòng)安裝 使用SDKMAN進(jìn)行安裝! OSX自制軟件的安裝 MacPorts的安裝 命令行完成
步驟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
SPRING_HOME的值為 C:\spring-1.4.3.RELEASEPATH的值為 C:\spring-1.4.3.RELEASE\bin

spring help run: 提供支持的命令的詳細(xì)信息。spring version: 提供Spring boot CLI的版本。
?
2
演示項(xiàng)目結(jié)構(gòu)
spring-app
???|
????--message.groovy??
????--hello.groovy?
????--tests.groovy
????--templates
?????????|
??????????--hello.html
????--static
????????|
?????????--index.html?
3
用 Spring Boot CLI 創(chuàng)建 Hello World 示例
@RestController
class?HelloController?{
????@RequestMapping("/home")
????String?home()?{
????????"Hello?World!"
????}
}?
1. 默認(rèn)的導(dǎo)入語句。在大多數(shù)情況下,我們不需要導(dǎo)入API。只有在不屬于默認(rèn)導(dǎo)入語句的情況下才可以導(dǎo)入。
2. spring boot沒有main方法。它將被自動(dòng)創(chuàng)建。
spring?run?hello.groovy?
它下載所有的依賴性JAR。依賴性JAR的版本由我們所使用的Spring boot CLI的版本決定。下載JAR只在第一次時(shí)進(jìn)行。 依賴性JAR是由代碼中使用的類和注解定義的。由于我們使用的是 @RestController,所以會(huì)下載與Spring MVC和嵌入式Tomcat相關(guān)的JAR。現(xiàn)在它編譯代碼并在默認(rèn)端口8080上啟動(dòng)嵌入式Tomcat服務(wù)器。

http://localhost:8080/home 來訪問該應(yīng)用程序。
server.port運(yùn)行命令,如下所示。spring?run?hello.groovy?--?--server.port=8484?
--server.port一起。現(xiàn)在,嵌入式Tomcat將以8484端口啟動(dòng),為了運(yùn)行應(yīng)用程序,我們需要使用http://localhost:8484/home來訪問。spring?run?*.groovy?
4
使用 @Grab 注釋
@Grab('spring-boot-starter-thymeleaf')
class?MessageController?{}?
@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";
????}
}?
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>?
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>?
spring?run?*.groovy?
http://localhost:8080/@Controller @RestController @EnableWebMvc : 在這種情況下,Spring MVC和嵌入式Tomcat將被下載。 @EnableWebSecurity : Spring安全相關(guān)的JAR將被下載。 @EnableJms: JMS應(yīng)用程序相關(guān)的JAR將被下載。 @Test : 將會(huì)下載Spring測(cè)試應(yīng)用相關(guān)的JAR。
?
5
Spring Boot CLI 測(cè)試應(yīng)用程序
class?ApplicationTests?{
????@Test
????void?HelloAppTest()?{
????????assertEquals("Hello?World!",?new?HelloController().home())
????}
}?
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)用程序文件。

6
使用 Spring Boot CLI 打包應(yīng)用程序
6
使用 Spring Boot CLI 打包應(yīng)用程序
spring?jar?spring-app.jar?*.groovy?
spring-app.jar: 這是可執(zhí)行的JAR。spring-app.jar.original: 這是原JAR。
java?-jar?spring-app.jar?

public/**,?resources/**,?static/**,?templates/**,?META-INF/**
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)目
https://start.spring.io。假設(shè)我們想用thymleaf創(chuàng)建一個(gè)Web項(xiàng)目,那么我們將運(yùn)行如下命令。spring?init?--dependencies=web,thymeleaf?my-app.zip?
spring-boot-starter-web
spring-boot-starter-thymeleaf?

spring?init?--build=gradle?--java-version=1.8?--dependencies=web,thymeleaf?--packaging=war?my-app.zip?
8
使用嵌入式 Shell
spring?shell?
$?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
往期推薦
