Springbootcli 简明教程
Spring Boot CLI - Starter Thymeleaf Project
让我们创建一个基于 Thymeleaf 的示例项目来演示 Spring CLI 的功能。请按照以下步骤创建示例项目。
Let’s create a sample Thymeleaf based project to demonstrate the capabilities of Spring CLI. Follow the below mentioned step to create a sample project.
Step |
Description |
1 |
Create a Folder with a name TestApplication with subfolders templates and static. |
2 |
Create message.groovy in TestApplication folder, message.html in templates folder, index.html in static folder as explained below. |
3 |
Compile and run the application to verify the result of the implemented logic. |
TestApplication/message.groovy
TestApplication/message.groovy
@Controller
@Grab('spring-boot-starter-thymeleaf')
class MessageController {
@RequestMapping("/message")
String getMessage(Model model) {
String message = "Welcome to TutorialsPoint.Com!";
model.addAttribute("message", message);
return "message";
}
}
TestApplication/templates/message.html
TestApplication/templates/message.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>
TestApplication/static/index.html
TestApplication/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>Go to <a href="/message">Message</a></p>
</body>
</html>
Run the application
键入以下命令
Type the following command
E:/Test/TestApplication/> spring run *.groovy
现在 Spring Boot CLI 将发挥作用,下载所需的依赖项,运行嵌入式 Tomcat,部署应用程序并启动它。您可以在控制台上看到以下输出。
Now Spring Boot CLI will come into action, download required dependencies, run the embedded tomcat, deploy the application and start it. You can see the following output on console.
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v2.6.3)
2022-02-03 11:36:33.362 INFO 10764 --- [ runner-0] o.s.boot.SpringApplication : Starting application using Java 11.0.11 on DESKTOP-86KD9FC with PID 10764 (started by intel in E:\Test\TestApplication)
2022-02-03 11:36:33.372 INFO 10764 --- [ runner-0] o.s.boot.SpringApplication : No active profile set, falling back to default profiles: default
2022-02-03 11:36:35.743 INFO 10764 --- [ runner-0] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8080 (http)
2022-02-03 11:36:35.768 INFO 10764 --- [ runner-0] o.apache.catalina.core.StandardService : Starting service [Tomcat]
2022-02-03 11:36:35.769 INFO 10764 --- [ runner-0] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.56]
2022-02-03 11:36:35.829 INFO 10764 --- [ runner-0] org.apache.catalina.loader.WebappLoader : Unknown class loader [org.springframework.boot.cli.compiler.ExtendedGroovyClassLoader$DefaultScopeParentClassLoader@553a3d88] of class [class org.springframework.boot.cli.compiler.ExtendedGroovyClassLoader$DefaultScopeParentClassLoader]
2022-02-03 11:36:35.896 INFO 10764 --- [ runner-0] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext
2022-02-03 11:36:35.897 INFO 10764 --- [ runner-0] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 2085 ms
2022-02-03 11:36:36.436 INFO 10764 --- [ runner-0] o.s.b.a.w.s.WelcomePageHandlerMapping : Adding welcome page: class path resource [static/index.html]
2022-02-03 11:36:37.132 INFO 10764 --- [ runner-0] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8080 (http) with context path ''
2022-02-03 11:36:37.153 INFO 10764 --- [ runner-0] o.s.boot.SpringApplication : Started application in 4.805 seconds (JVM running for 8.633)
2022-02-03 11:37:03.049 INFO 10764 --- [nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet'
2022-02-03 11:37:03.049 INFO 10764 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet'
2022-02-03 11:37:03.054 INFO 10764 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 3 ms
Browse the application in Browser
基于弹簧的休息应用程序现已准备就绪。将 url 打开为“http://localhost:8080/”,您将看到以下输出。
Our spring based rest application is now ready. Open url as "http://localhost:8080/" and you will see the following output.
Go to Message
点击消息链接,您将看到以下输出。
Click on Message link and you will see the following output.
Message: Welcome to TutorialsPoint.Com!
Points to consider
Spring CLI 执行以下操作。
Following actions are taken by Spring CLI.
-
@Grab('spring-boot-starter-thymeleaf') annotation directs CLI to download spring-boot-starter-thymeleaf 2.6.3 version.
-
Spring CLI automatically detects the version using its metadata as we’ve not specified any group id or version id here.
-
Finally it compiles the code, deploy the war on a embedded tomcat, start embedded tomcat server on the default port 8080.