推荐一个 Spring Boot 快速开发利器

2022年01月15日 阅读数:2
这篇文章主要向大家介绍推荐一个 Spring Boot 快速开发利器,主要内容包括基础应用、实用技巧、原理机制等方面,希望对大家有所帮助。

点击“终码一辈子”,关注,置顶公众号html

每日技术干货,第一时间送达!java

Spring boot CLI是运行spring boot命令的命令行界面。Spring提供了用于建立、运行和测试spring boot应用程序的spring命令。web

Spring boot CLI应用程序使用groovy语言,经过这种方式,咱们用最少的代码行建立咱们的应用程序并启动它。spring

使用groovy的Spring boot CLI具备如下特色。shell

1. Spring boot CLI应用程序使用groovy。咱们在应用程序中建立groovy文件,为此咱们不须要提供groovy的任何JAR依赖。Spring boot会本身配置groovy的JAR依赖项。安全

2. 在编写groovy文件时,咱们不须要写导入语句,直到须要为止。在写导入语句以前,咱们应该检查咱们是否获得导入错误。经过这种方式,咱们尽量地写出最少的代码行数。服务器

3. Spring boot CLI不须要任何构建工具。Spring boot以与Maven和Gradle相同的方式自动抓取spring依赖JAR包。版本是从Spring Boot CLI的版本中提取的。4. Spring boot下载JAR依赖项时,经过记住咱们在应用程序编码中使用了哪些spring注解和类。若是咱们使用@Controller注解,那么Spring Boot就会下载Spring Web应用程序的JAR依赖项。5. 为了下载第三方依赖的JAR,如thymleaf,spring boot使用@Grab注释groovy功能。6. Spring boot提供spring run命令来运行应用程序,spring test命令来运行spring测试应用程序。7. 咱们可使用spring boot命令行建立可执行的JAR文件。对于应用程序的打包,spring boot提供spring jar命令。8. 使用命令行界面,咱们可使用spring init命令从spring initializer站点建立项目。9. Spring boot为Windows用户提供了使用spring shell命令的集成外壳。10. 使用spring boot CLI时,咱们不须要建立spring boot main()方法。它是由spring boot CLI自动提供的。在这一篇,咱们将安装spring boot CLI,而后咱们将建立一个spring boot CLI示例应用程序,并运行它和测试它。网络


一、安装 Spring Boot CLI

要使用Spring boot CLI,首先咱们须要在系统中安装它。有不少方法能够安装Spring boot CLI。app

  • 手动安装
  • 使用SDKMAN进行安装!
  • OSX自制软件的安装
  • MacPorts的安装
  • 命令行完成

找到Spring boot CLI安装细节的连接。在个人例子中,我将在个人Windows 7操做系统中使用手动安装来安装Spring boot CLI。找到下面的步骤。maven

步骤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​

步骤3:如今咱们将测试咱们的安装。打开命令提示符并键入命令spring,咱们将获得如下结果。推荐一个 Spring Boot 快速开发利器_jar查找更多Spring boot CLI命令。

  • ​spring help run​​ : 提供支持的命令的详细信息。
  • ​spring version​​ : 提供Spring boot CLI的版本。

如今咱们能够开始使用Spring boot CLI了。


二、演示项目结构

找到演示项目结构,咱们将使用spring boot CLI和groovy来运行。

spring-app
|
--message.groovy
--hello.groovy
--tests.groovy
--templates
|
--hello.html
--static
|
--index.html


三、用 Spring Boot CLI 建立 Hello World 示例

咱们将使用Groovy建立一个简单的 "Hello World"网络应用。请看下面的代码。hello.groovy

@RestController
class HelloController {
@RequestMapping("/home")
String home() {
"Hello World!"
}
}

当咱们使用Spring boot CLI和Groovy时,咱们能够用最少的代码运行咱们的应用程序。在咱们的代码中,咱们将获得如下结果。

1. 默认的导入语句。在大多数状况下,咱们不须要导入API。只有在不属于默认导入语句的状况下才能够导入。

2. spring boot没有main方法。它将被自动建立。

为了编译和运行Groovy源代码,Spring boot CLI提供了run命令,咱们按如下方式调用。

spring run hello.groovy

使用该命令,咱们实现了如下几点。

  1. 它下载全部的依赖性JAR。依赖性JAR的版本由咱们所使用的Spring boot CLI的版本决定。下载JAR只在第一次时进行。
  2. 依赖性JAR是由代码中使用的类和注解定义的。因为咱们使用的是@RestController,因此会下载与Spring MVC和嵌入式Tomcat相关的JAR。
  3. 如今它编译代码并在默认端口8080上启动嵌入式Tomcat服务器。

找到打印界面。

推荐一个 Spring Boot 快速开发利器_jar_02

经过URL ​​​http://localhost:8080/home​​​ 来访问该应用程序。

推荐一个 Spring Boot 快速开发利器_应用程序_03

若是咱们想改变默认端口,那么咱们须要用​​​server.port​​运行命令,以下所示。

spring run hello.groovy -- --server.port=8484

咱们须要注意,咱们将使用分隔符--与spring命令参数​​--server.port​​​一块儿。如今,嵌入式Tomcat将以8484端口启动,为了运行应用程序,咱们须要使用​​http://localhost:8484/home​​来访问。若是咱们有多个groovy文件,而且要一块儿运行全部这些groovy文件,咱们可使用如下命令。

spring run *.groovy


四、使用 @Grab 注释

Groovy提供了@Grab注解来解决JAR的依赖性。Spring boot也支持@Grab注解,只解决第三方的依赖。根据Spring注解和应用程序中使用的类,Spring的依赖性被自动抓取。它下载JAR的方式与Maven和Gradle相同,无需使用任何构建工具。咱们使用@Grab注解来下载第三方依赖,以下所示。

@Grab('spring-boot-starter-thymeleaf')
class MessageController {}

在上面的代码中,咱们将看到咱们只须要传递artifact id。Group id 和 version将从spring boot的默认依赖元数据中获取。如今找到这个例子中使用的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

<!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>

static/index.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/​​Spring boot只须要@Grab注解来解决第三方JAR,例如spring-boot-starter-thymeleaf,freemarker等。Spring boot会根据须要自动抓取spring JAR。例如,若是咱们使用如下注解和类,那么相关的JAR依赖将被自动下载。

  1. @Controller @RestController @EnableWebMvc : 在这种状况下,Spring MVC和嵌入式Tomcat将被下载。
  2. @EnableWebSecurity : Spring安全相关的JAR将被下载。
  3. @EnableJms: JMS应用程序相关的JAR将被下载。
  4. @Test : 将会下载Spring测试应用相关的JAR。

具体请查看连接中的Deduced “grab” Dependencies部分


五、Spring Boot CLI 测试应用程序

Spring boot CLI提供了test命令,咱们能够用它来测试咱们的spring boot应用程序。找到咱们例子中使用的groovy类来测试hello.groovy。tests.groovy

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​​:测试文件,用于测试应用程序文件。

运行该命令后,咱们获得的结果以下。推荐一个 Spring Boot 快速开发利器_jar_04


六、使用 Spring Boot CLI 打包应用程序

Spring boot CLI提供了jar命令来打包咱们的应用程序。咱们能够按如下方式使用它。

spring jar spring-app.jar *.groovy

这将建立两个JAR。

  • ​spring-app.jar​​ : 这是可执行的JAR。
  • ​spring-app.jar.original​​ : 这是原JAR。

可执行的jar文件的运行方式以下。

java -jar spring-app.jar

找到打印界面。推荐一个 Spring Boot 快速开发利器_jar_05在打包应用程序时,spring boot默认包括如下目录。

public/**, resources/**, static/**, templates/**, META-INF/**

而默认的排除目录是

repository/**, build/**, target/**, **/*.jar, **/*.groovy

使用​​--include​​​,咱们能够将默认排除目录添加到打包的目录中。使用​​--exclude​​,咱们能够删除打包的目录。有关更多详细信息,咱们能够按以下方式运行help命令。

spring help jar


七、使用 Spring Boot CLI 建立一个新项目

使用init命令,Spring boot CLI能够用maven做为默认的构建工具建立一个新项目,该工具使用​​https://start.spring.io​​。假设咱们想用thymleaf建立一个Web项目,那么咱们将运行以下命令。

spring init --dependencies=web,thymeleaf my-app.zip

在pom.xml中,web,thymeleaf的依赖关系将配置为如下spring boot启动器。

spring-boot-starter-web
spring-boot-starter-thymeleaf

my-app.zip文件将被下载到咱们运行命令的目录中。推荐一个 Spring Boot 快速开发利器_jar_06若是咱们想使用Gradle构建工具,用任何特定的java版本构建WAR文件,那么咱们能够运行以下命令。

spring init --build=gradle --java-version=1.8 --dependencies=web,thymeleaf --packaging=war my-app.zip


八、使用嵌入式 Shell

Spring boot有BASH和Zsh shells的命令行完成脚本。若是咱们使用WINDOWS,Spring Boot提供shell命令来启动一个集成shell。若是使用WINDOWS,那么使用如下命令启动集成shell。

spring shell

如今咱们能够直接运行命令而不使用spring关键字,如

$ version
$ test hello.groovy tests.groovy
$ run hello.groovy

找到打印界面。

推荐一个 Spring Boot 快速开发利器_应用程序_07


参考文献

​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​



PS:防止找不到本篇文章,能够收藏点赞,方便翻阅查找哦