Book Image

Mastering Spring 5.0

By : In28Minutes Official
Book Image

Mastering Spring 5.0

By: In28Minutes Official

Overview of this book

Spring 5.0 is due to arrive with a myriad of new and exciting features that will change the way we’ve used the framework so far. This book will show you this evolution—from solving the problems of testable applications to building distributed applications on the cloud. The book begins with an insight into the new features in Spring 5.0 and shows you how to build an application using Spring MVC. You will realize how application architectures have evolved from monoliths to those built around microservices. You will then get a thorough understanding of how to build and extend microservices using Spring Boot. You will also understand how to build and deploy Cloud-Native microservices with Spring Cloud. The advanced features of Spring Boot will be illustrated through powerful examples. We will be introduced to a JVM language that’s quickly gaining popularity - Kotlin. Also, we will discuss how to set up a Kotlin project in Eclipse. By the end of the book, you will be equipped with the knowledge and best practices required to develop microservices with the Spring Framework.
Table of Contents (20 chapters)
Title Page
Credits
About the Author
About the Reviewer
www.PacktPub.com
Customer Feedback
Preface

Reactive programming in Java


Java 8 does not have any built-in support for reactive programming. A number of frameworks provide reactive features. We will discuss Reactive Streams, Reactor, and Spring WebFlux in subsequent sections.

Reactive streams

Reactive Streams is an initiative to provide a standard for asynchronous stream processing with non-blocking back pressure. This encompasses efforts aimed at runtime environments (JVM and JavaScript) as well as network protocols.

A few important things to note are as follows:

  • Reactive streams aim to define a minimal set of interfaces, methods, and protocols to enable reactive programming
  • Reactive streams aim to be a language-neutral approach with implementation in the Java (JVM-based) and JavaScript languages
  • Multiple transport streams (TCP, UDP, HTTP, and WebSockets) are supported

Maven dependencies for Reactive Streams are shown as follows:

    <dependency>
      <groupId>org.reactivestreams</groupId>
      <artifactId>reactive...