Spring Boot Thymeleaf Example Tutorial

In this tutorial, we will learn how to create a simple Spring boot hello world example with Thymeleaf.
Spring Boot aims to make it easy to create Spring-powered, production-grade applications, and services with minimum fuss. It takes an opinionated view of the Spring platform so that new and existing users can quickly get to the bits they need.
Thymeleaf is a Java-based library used to create a web application. It provides good support for serving XHTML/HTML5 in web applications.

1. Create a Spring Boot Application

There are many ways to create a Spring Boot application. You can refer below articles to create a Spring Boot application.

2. Add maven dependencies

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

3. Create Spring MVC Controller

Let's create a simple Spring MVC controller with a method handler:
package net.javaguides.springboot.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;

@Controller
public class HelloController {

    @GetMapping({
        "/",
        "/hello"
    })
    public String hello(@RequestParam(value = "name",
        defaultValue = "World", required = true) String name, Model model) {
        model.addAttribute("name", name);
        return "hello";
    }
}

4. Thymeleaf ViewResolver Configuration

Spring boot will auto-configure the view resolver for Thymeleaf whenever it will find the spring-boot-starter-thymeleaf dependency on the classpath. Spring boot will pick thymeleaf templates (HTML pages) from the resources/templates folder.

5. Create Thymeleaf Page

<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
 <p th:text="'Hello, ' + ${name} + '!'" />
</body>
</html>

6. Run the app and demo

Let's run this spring boot application from IDE -> Right click -> Run As -> Java Application:
package net.javaguides.springboot;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class SpringbootThymeleafHelloWorldExampleApplication {

    public static void main(String[] args) {
        SpringApplication.run(SpringbootThymeleafHelloWorldExampleApplication.class, args);
    }
}

Demo

Demo of this tutorial is covered below video tutorial:

Conclusion

In this tutorial, we have learned how to create a simple Spring boot hello world example with Thymeleaf.
Learn spring boot at https://www.javaguides.net/p/spring-boot-tutorial.html.

Comments