Book Image

Building Applications with Spring 5 and Kotlin

By : Miloš Vasić
Book Image

Building Applications with Spring 5 and Kotlin

By: Miloš Vasić

Overview of this book

Kotlin is being used widely by developers because of its light weight, built-in null safety, and functional and reactive programming aspects. Kotlin shares the same pragmatic, innovative and opinionated mindset as Spring, so they work well together. Spring when combined with Kotlin helps you to reach a new level of productivity. This combination has helped developers to create Functional Applications using both the tools together. This book will teach you how to take advantage of these developments and build robust, scalable and reactive applications with ease. In this book, you will begin with an introduction to Spring and its setup with Kotlin. You will then dive into assessing the design considerations of your application. Then you will learn to use Spring (with Spring Boot) along with Kotlin to build a robust backend in a microservice architecture with a REST based collaboration, and leverage Project Reactor in your application. You’ll then learn how to integrate Spring Data and Spring Cloud to manage configurations for database interaction and cloud deployment. You’ll also learn to use Spring Security to beef up security of your application before testing it with the JUnit framework and then deploying it on a cloud platform like AWS.
Table of Contents (12 chapters)

What this book covers

Chapter 1, Starting Up, starts preparing the working environment by setting up Git repositories. After we do that, we will use Gradle as a tool to shape our project and its modules.

Chapter 2, Starting with Spring, shows how to set up our development environment. We will be ready to create our first Spring code written in Kotlin.

Chapter 3, Building Your First Spring RESTful Service with Kotlin, defines the Spring project and lists examples along with tips on how to write nice and clean REST services with Spring using Kotlin.

Chapter 4, Working with Spring Data JPA and MySQL, describes Spring Data. We will see how to create a data repository with CRUD operations on some entity. Finally, we will learn how to make queries on the MySQL database.

Chapter 5, Securing Applications with Spring Security, presents Spring Security projects and shows some examples of how to utilize Basic Authentication and/or OAuth2.

Chapter 6, Spring Cloud, explains the difference between the microservice architecture and SOA. At the end, we will see how to use the Spring Cloud project to implement the microservice architecture in its own application.

Chapter 7, Using Project Reactor, discusses the advantages of reactive programming. We will present Project Reactor and teach the reader how to use its power in its applications.

Chapter 8, Development Practices, talks about some good and some not-so-good practices.

Chapter 9, Testing, explains the importance of well-tested code. We will see how to write JUnit tests with Kotlin and how to write tests for Spring-based applications.

Chapter 10, Project Deployment, finally, presents the different options for deploying Spring applications. We will also see how to deploy REST service to the Tomcat application server or to AWS. If you are a fan of AWS, this is a great topic for you!