使用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下载项目,并将解压的文件放置在适当的位置。

导入项目

IDEA.jpg
IDEA2.jpg
IDEA3.jpg

打开项目并查看”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>

执行项目

IDEA4.jpg
IDEA5.jpg

如果在控制台上显示以下日志,则打开http://localhost:8080/helloworld。
[ restartedMain ] c.e.helloworld.HelloworldApplicationKt : 在7.576秒内启动了HelloworldApplicationKt(JVM运行时间为10.035秒)。

chrome.jpg

最后

使用Spring Initializr可以很容易地设置服务器,因此即使是初学者也能轻松上手。(如果是简单的项目,不需要进行build.gradle的配置等)

请引用以下内容。

Spring Boot 使用 Thymeleaf 的方法备忘录。

广告
将在 10 秒后关闭
bannerAds