Slide 1

Slide 1 text

AN INTRODUCTION TO SPRING BOOT 2.0

Slide 2

Slide 2 text

WHAT IS SPRING BOOT? - Framework to build production-ready applications - Based on Spring framework - Version 2.0 released this month

Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

WHAT IS NEW IN 2.0? - Spring 5 - Project Reactor - Java 9 support - Kotlin integration - ...

Slide 5

Slide 5 text

REACTIVE STREAMS

Slide 6

Slide 6 text

- Non-blocking - Data streams - Back pressure - Asynchronous REACTIVE STREAMS

Slide 7

Slide 7 text

KEY COMPONENTS Publisher Mono Flux Operators Subscriber

Slide 8

Slide 8 text

KEY COMPONENTS

Slide 9

Slide 9 text

SPRING MVC

Slide 10

Slide 10 text

WEBFLUX

Slide 11

Slide 11 text

ROUTER FUNCTION

Slide 12

Slide 12 text

TRADITIONAL REPOSITORY

Slide 13

Slide 13 text

REACTIVE REPOSITORY

Slide 14

Slide 14 text

WEBCLIENT

Slide 15

Slide 15 text

LIVE CODING TIME

Slide 16

Slide 16 text

WHY ADAPT? - When writing new projects - When moving to Java 9 - When you want to use Spring 5 - When you want to use Kotlin

Slide 17

Slide 17 text

WHY REACTIVE? - When real time or event-driven communication is important - When processing large, or infinite amounts of data - When you expect that there will be a large amount of traffic

Slide 18

Slide 18 text

WHY NOT REACTIVE? - When expected to make blocking calls

Slide 19

Slide 19 text

ANY QUESTIONS?* * Make sure to ask them in a reactive way. Don’t block your brains when you’re waiting for an answer.

Slide 20

Slide 20 text

RESOURCES - Shameless self-promotion: https://g00glen00b.be/getting-started-spring-boot-2/ - More shameless self-promotion: https://blog.optis.be/spring-devoxx-7c0fa8a9dc9f - Building a reactive RESTful service: https://spring.io/guides/gs/reactive-rest-service/ - Live demo code: https://github.com/optis/spring-boot-2-webflux

Slide 21

Slide 21 text

THE END