使用Gradle + Kotlin + Thymeleaf编写一个Hello World程序
首先
@Yosuke2712,我是Yosuke2712。
我平时主要负责开发B2B的业务系统。
由于公司内部没有技术更新的机会,所以我决定个人学习一些新知识。我首先尝试用Spring Boot创建了一个简单的项目,但是遇到了一些问题,所以我创建了这个备忘录来记录。
本篇文章是为那些没有接触过Spring的人准备的。
简要概述
环境
-
- Windows10 Pro 1903
-
- IntelliJ IDEA 2019.1.3 (Community Edition)
- Jdk 11 (Amazon Corretto)
索引
-
- Spring Initializrでプロジェクト作成
-
- プロジェクトのインポート
-
- Controllerの作成
-
- Templateの作成
- プロジェクトを実行
使用Spring Initializr创建项目。
大体框架可以通过Spring Initializr创建。
按照以下步骤进行设置:
■ 项目
Gradle 项目
■ 语言
科特林
■ 春季启动框架2.1.6(截至2019年07月15日)
■ 项目元数据
组:com.example
构件:helloworld
(这次我们将使用这个名称)
在选项中将Java升级到11版本。
■ Dependencies
勾选Developer Tools中的「Spring Boot DevTools」,Web中的「Spring Web Starter」,以及Template Engines中的「Thymeleaf」。
从Generate下载项目,并将解压的文件放置在适当的位置。
导入项目
打开项目并查看”build.gradle.kts”文件。
(带有”kts”的是相对较新的概念,应该尝试迁移到”build.gradle.kts”)
`helloworld\build.gradle.kts` 文件中的依赖项应该如下所示。
dependencies {
implementation("org.springframework.boot:spring-boot-starter-thymeleaf")
implementation("org.springframework.boot:spring-boot-starter-web")
implementation("com.fasterxml.jackson.module:jackson-module-kotlin")
implementation("org.jetbrains.kotlin:kotlin-reflect")
implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8")
developmentOnly("org.springframework.boot:spring-boot-devtools")
testImplementation("org.springframework.boot:spring-boot-starter-test")
}
可以查看devtools、web、thymeleaf等。
创建控制器
在helloworld/src/main/kotlin目录下,有一个com.example.helloworld.HelloworldApplication文件,但是我们不需要对它进行编辑。
在与HelloworldApplication相同的层级下创建一个HelloworldController类,并按照以下方式进行描述。
package com.example.helloworld
import org.springframework.stereotype.Controller
import org.springframework.ui.Model
import org.springframework.web.bind.annotation.GetMapping
@Controller
class HelloworldController {
@GetMapping("/helloworld")
fun helloworld(model: Model): String {
model.addAttribute("message", "Hello World!")
return "helloworld"
}
}
关于注解,下面的文章中写了很多内容。
关于Spring Framework的Controller的基本注解,在下方的文章中有详细描述。
创建模板
接下来,在helloworld/src/main/resources/templates目录下创建一个html文件。
xmlns:th=”http://www.thymeleaf.org” 和 th:text=”${message}” 这两部分与Thymeleaf有关。
<!DOCTYPE html>
<html lang="ja" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>HelloWorld</title>
</head>
<body>
<h1 th:text="${message}"></h1>
</body>
</html>
执行项目
如果在控制台上显示以下日志,则打开http://localhost:8080/helloworld。
[ restartedMain ] c.e.helloworld.HelloworldApplicationKt : 在7.576秒内启动了HelloworldApplicationKt(JVM运行时间为10.035秒)。
最后
使用Spring Initializr可以很容易地设置服务器,因此即使是初学者也能轻松上手。(如果是简单的项目,不需要进行build.gradle的配置等)
请引用以下内容。
Spring Boot 使用 Thymeleaf 的方法备忘录。