▶Book Description
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.
▶What You Will Learn
⦁ Explore Spring 5 concepts with Kotlin
⦁ Learn both dependency injections and complex configurations
⦁ Utilize Spring Data, Spring Cloud, and Spring Security in your applications
⦁ Create efficient reactive systems with Project Reactor
⦁ Write unit tests for your Spring/Kotlin applications
⦁ Deploy applications on cloud platforms like AWS
▶Key Features
⦁ Build a full-fledged application in Spring and Kotlin
⦁ Architect your application to take a microservice-based approach in the cloud
⦁ Integrate your application with a variety of Spring components
▶Who This Book Is For
Developers comfortable using Spring who have basic knowledge of Kotlin and want to take their development skills to the next level and build enterprise-grade applications will benefit from this book.
▶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!