Getting started with Spring Framework for Web Apps
Spring is a Java framework which allows you to quickly build many different types of applications. It provides the foundational layers of technology so you can focus on building business logic. Spring has a framework for microservices, reactive applications, cloud, web applications, serverless, event driven for streaming data and batch.
Getting Started
In ths example, we’re going to use Spring 3.x, Java 17 and Maven to build a simple web application to serve up content using Apache Freemarker. We’ll leverage Spring Boot, which encapsulates Apache Tomcat as the default embedded servlet container.
Prerequistes
Make sure you have Java 17 and Eclipse installed for your operating system before proceeding.
Generating the project
The easiest and quickest way to get started with Spring is to use the Spring Initializer. To follow along with the example, be sure to select Maven for project, Java as language, 3.0.1, War for the packaging and Java 17 version. Take all the remaining defaults for now.

Add dependencies
Click the Add Dependencies button and select the following:
- Spring Boot Dev Tools
- Spring Web
- Apache Freemarker

Click the Generate button and it’ll download a starter project. Open the resulting zip and extract the results into a folder.
Setting up the project
Open Eclipse and set the workspace to the top level directory. Click on Import projects or use the menu File => Import. Open the Maven folder and select Existing Maven Projects. Browse to the folder containing your project. Give it a minute for Maven to build the project.



Validation
To validate everything is working, run the Spring Boot application. Open the src/main/java and locate the DemoApplication.java file. Right-click, Run As, Java Application.

You should get output similar to this. You can browse to localhost:8080 in your browser but no output will occur until we configure a web controller.

Setting up a web controller
Create a new class and name it HomeController. Enter the following code into the new class. We are annotating the class with the Spring sterotype @Controller. Spring will automatically detect and set up a web servlet for us. The GetMapping value set up a context so the servlet will serve content when you navigate to root at localhost:8080.
The return type will be a string which will translate to an Apache Freemarker template named home.ftlh.
package com.example.demo;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
@Controller
public class HomeController {
@GetMapping("/")
public String home(Model model) {
return "home";
}
}
Setting up Freemarker
Now locate the src/main/resources folder and create a new Text file in the resources folder named home.ftlh. Enter the HTML below and save the file.

<html>
<body>
<h1>Hello World</h1>
</body>
</html>Test your work
Now point your browser to localhost:8080 and you should see the HTML displayed.
Comments
Post a Comment