springboot快速开发利器:cli 属实真牛逼!
共 8104字,需浏览 17分钟
· 2022-07-26
Spring boot CLI应用程序使用groovy语言,通过这种方式,我们用最少的代码行创建我们的应用程序并启动它。
1. Spring boot CLI应用程序使用groovy。我们在应用程序中创建groovy文件,为此我们不需要提供groovy的任何JAR依赖。Spring boot会自己配置groovy的JAR依赖项。
2. 在编写groovy文件时,我们不需要写导入语句,直到需要为止。在写导入语句之前,我们应该检查我们是否得到导入错误。通过这种方式,我们尽可能地写出最少的代码行数。
@Controller
注解,那么Spring Boot就会下载Spring Web应用程序的JAR依赖项。@Grab
注释groovy功能。spring run
命令来运行应用程序,spring test
命令来运行spring测试应用程序。spring jar
命令。spring initializer
站点创建项目。spring shell
命令的集成外壳。spring boot main()
方法。它是由spring boot CLI自动提供的。手动安装 使用SDKMAN进行安装! 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:解压缩并保存在你系统的某个地方。假设我把它保存在如下位置。
C:\spring-1.4.3.RELEASE
SPRING_HOME的值为 C:\spring-1.4.3.RELEASE
PATH的值为 C:\spring-1.4.3.RELEASE\bin
![](https://filescdn.proginn.com/114130b95c07169a15a0e80cc3f3c45e/c083ef048a67d285d9fa9f4880828a0e.webp)
spring help run
: 提供支持的命令的详细信息。spring version
: 提供Spring boot CLI的版本。
spring-app
|
--message.groovy
--hello.groovy
--tests.groovy
--templates
|
--hello.html
--static
|
--index.html
用 Spring Boot CLI 创建 Hello World 示例
@RestController
class HelloController {
@RequestMapping("/home")
String home() {
"Hello World!"
}
}
1. 默认的导入语句。在大多数情况下,我们不需要导入API。只有在不属于默认导入语句的情况下才可以导入。
2. spring boot没有main方法。它将被自动创建。
spring run hello.groovy
它下载所有的依赖性JAR。依赖性JAR的版本由我们所使用的Spring boot CLI的版本决定。下载JAR只在第一次时进行。 依赖性JAR是由代码中使用的类和注解定义的。由于我们使用的是 @RestController
,所以会下载与Spring MVC和嵌入式Tomcat相关的JAR。现在它编译代码并在默认端口8080上启动嵌入式Tomcat服务器。
![](https://filescdn.proginn.com/00666e06ef0f19dfab0f8da75dae7444/ca82ee37d1fa907161fb5e9b2d8cf20c.webp)
http://localhost:8080/home
来访问该应用程序。![](https://filescdn.proginn.com/2cc664c28ee2b3320b459c16e6684aa2/15bfc413d4f21a14e9152f1699c5a5b1.webp)
server.port
运行命令,如下所示。spring run hello.groovy -- --server.port=8484
--server.port
一起。现在,嵌入式Tomcat将以8484端口启动,为了运行应用程序,我们需要使用http://localhost:8484/home
来访问。spring run *.groovy
使用 @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";
}
}
<!DOCTYPE HTML>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<title>Spring Boot CLI Example</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<p th:text="'Message: ' + ${message}" />
</body>
</html>
<!DOCTYPE HTML>
<html>
<head>
<title>Spring Boot CLI Example</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<p>Click to get <a href="/msg">Message</a> </p>
</body>
</html>
spring run *.groovy
http://localhost:8080/
@Controller @RestController @EnableWebMvc : 在这种情况下,Spring MVC和嵌入式Tomcat将被下载。 @EnableWebSecurity : Spring安全相关的JAR将被下载。 @EnableJms: JMS应用程序相关的JAR将被下载。 @Test : 将会下载Spring测试应用相关的JAR。
class ApplicationTests {
@Test
void HelloAppTest() {
assertEquals("Hello World!", new HelloController().home())
}
}
spring test hello.groovy tests.groovy
spring test
:Spring boot CLI命令,用于测试应用程序。hello.groovy
:需要测试的应用程序文件。tests.groovy
:测试文件,用于测试应用程序文件。
![](https://filescdn.proginn.com/28d3a5229b149679d0ddad1d161ff23f/a0bef6676a1049a126ac31162d40f396.webp)
使用 Spring Boot CLI 打包应用程序
spring jar spring-app.jar *.groovy
spring-app.jar
: 这是可执行的JAR。spring-app.jar.original
: 这是原JAR。
java -jar spring-app.jar
![](https://filescdn.proginn.com/0fcbbda40b8385fab639fbfb74f38432/36802c30b77914f1eb15724aa58a4748.webp)
public/**, resources/**, static/**, templates/**, META-INF/**
repository/**, build/**, target/**, **/*.jar, **/*.groovy
--include
,我们可以将默认排除目录添加到打包的目录中。使用--exclude
,我们可以删除打包的目录。有关更多详细信息,我们可以按如下方式运行help命令。spring help jar
使用 Spring Boot CLI 创建一个新项目
https://start.spring.io
。假设我们想用thymleaf创建一个Web项目,那么我们将运行如下命令。spring init --dependencies=web,thymeleaf my-app.zip
spring-boot-starter-web
spring-boot-starter-thymeleaf
![](https://filescdn.proginn.com/c6e36fc5f00fadd92405409eb2497523/93298fe8a29d8aaf7c5d193f09288ad5.webp)
spring init --build=gradle --java-version=1.8 --dependencies=web,thymeleaf --packaging=war my-app.zip
使用嵌入式 Shell
spring shell
$ version
$ test hello.groovy tests.groovy
$ run hello.groovy
![](https://filescdn.proginn.com/602ed46bca02f50d4e55f4947d4df622/7d69ba812bcc7c9b27042a3bbe896ea1.webp)
参考文献
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
精彩推荐:
Spring Boot 一个接口同时支持 form 表单、form-data、json 的优雅写法
让人上瘾的新一代开发神器,彻底告别Controller、Service、Dao等方法