Book Image

Spring Boot 2.0 Projects

By : Mohamed Shazin Sadakath
Book Image

Spring Boot 2.0 Projects

By: Mohamed Shazin Sadakath

Overview of this book

Spring Boot is a lightweight framework that provides a set of tools to create production-grade applications and services. Spring Boot 2.0 Projects is a comprehensive project-based guide for those who are new to Spring, that will get you up to speed with building real-world projects. Complete with clear step-by-step instructions, these easy-to-follow tutorials demonstrate best practices and key insights into building efficient applications with Spring Boot. The book starts off by teaching you how to develop a web application using Spring Boot, followed by giving you an understanding of creating a Spring Boot-based simple blog management system that uses Elasticsearch as the data store. Next, you’ll build a RESTful web services application using Kotlin and the Spring WebFlux framework - a new framework that enables you to create reactive applications in a functional way. Toward the last few chapters, you will build a taxi-hailing API with reactive microservices using Spring Boot, in addition to developing a Twitter clone with the help of a Spring Boot backend. To build on your knowledge further, you’ll also learn how to construct an asynchronous email formatter. By the end of this book, you’ll have a firm foundation in Spring programming and understand how to build powerful, engaging applications in Java using the Spring Boot framework.
Table of Contents (12 chapters)

Building an Asynchronous Email Formatter

This chapter will introduce the reader to the details of how to build an Asynchronous Email Formatter, using Spring Boot 2 as the backend development framework and Apache Kafka as a message queue. We will explain how to use JPA as the persistence layer, which is a widely used data source. Subsequently, we will use Apache FreeMarker to create the email templates and show you how to use placeholders to provide dynamic data to email templates. Furthermore, we will use Spring Web MVC and Spring Security to implement controllers and provide authentication and authorization.

The following topics will be covered in this chapter:

  • Using Spring Data JPA for persistence
  • Using Apache FreeMarker for templates
  • Using Spring Kafka for communication
  • Using Spring Web MVC for REST controller
  • Using Spring Security for authentication and authorization
  • Demonstrating...