Getting started with Spring Boot (in IntelliJ)"

This is a series of third-party demos and lessons that you could follow before embarking on your "real" project.
You should start with steps 1-7 in sequence first.
IntelliJ Idea Ultimate is required.

Step Topic(s) Resource
1 Set up a Gradle-managed project in IntelliJ
Follow the first section, "Create a Spring Boot project". In the "New Project" wizard, in the Metadata tab, select "Gradle Project" as Type, and "Jar" for Packaging. As dependencies select "Web" -> "Spring Web" and "Template Engines" -> "Thymeleaf".
When you are finished there is a main class that you can run - without anything useful happening because there is no content yet.
A first project
2 Serving Web Content with Spring MVC.
You will build an application that has a static home page and that will also accept HTTP GET requests. You can skip to section "Create a Web Controller". Place the controller in a package called "webcontrol".
Serve a greeting
3 Dependency Injection.
These articles describe how to use dependency injection with the Spring Framework. The first is also a complete overview of the Spring framework.
  • What is Spring Framework?
  • Spring DI (Baeldung)
  • Spring DI (Vogella)
  • 4 Handling form submissions.
    This guide walks you through the process of using Spring to create and submit a web form. Again, you can skip to "Create a Web Controller".
    Handling form submissions
    5 Validating form input
    Demonstrates the process of configuring a web application form to support validation.
    Validating form input
    6 Spring Web Annotations
    A review of the main Spring Web Annotations.
    Spring web annotations
    7 Internationalization
    How to add internationalization to a Spring Boot application.
    Internationalization
    8 Security
    The hardest and most important part of any web app.
  • Securing a web app (intro)
  • Using a user database as service
  • A bit old, but thorough
  • 9 application.properties
    The Spring Boot application.properties file.
    application.properties
    10 MySQL/JDBC
    How to do database interactions simple.
  • Concretepage
  • Baeldung
  • Mkyong
  • 11 Flash attributes
    Form submission is a heavily used mechanism to gather and process data for web apps. In this tutorial, you'll learn how Spring's flash attributes can help us with the form submission workflow securely and reliably.
    Flash attributes
    12 Logging
    How to do logging.
    Logging