Slide 1

Slide 1 text

Spring Boot 3 & Spring Framework 6 Oliver Drotbohm [email protected] / odrotbohm

Slide 2

Slide 2 text

No content

Slide 3

Slide 3 text

Spring Framework Project Reactor Micrometer Spring Boot Spring Security Spring Data … Spring Integration

Slide 4

Slide 4 text

May '22 Nov '22

Slide 5

Slide 5 text

Spring Boot • Improvements to actuator endpoints OS and Java vendor information • Spring GraphQL starter Starter for server and client support • Infrastructure upgrades H2 2.1 • Auto-configuration infrastructure Dedicated config file, @AutoConfiguration • @JsonMixin

Slide 6

Slide 6 text

Spring Boot • JakartaEE 9 Required temporarily removing support Some third party libraries not ready yet

Slide 7

Slide 7 text

javax.* -" jakarta.*

Slide 8

Slide 8 text

Use Spring Boot Migrator!

Slide 9

Slide 9 text

No content

Slide 10

Slide 10 text

No content

Slide 11

Slide 11 text

No content

Slide 12

Slide 12 text

Spring Boot • JakartaEE 9 Required temporarily removing support Some third party libraries not ready yet • Declarative HTTP Client Interface-based, similar to Spring Cloud Feign

Slide 13

Slide 13 text

public interface DeclarativeWebClient { @GetExchange("/spring-projects/{slug}") ProjectSummary findProject(@PathVariable String slug); }

Slide 14

Slide 14 text

Spring Boot • JakartaEE 9 Required temporarily removing support Some third party libraries not ready yet • Declarative HTTP Client Interface-based, similar to Spring Cloud Feign • Support for RFC 7807 – Problem Details for HTTP APIs Supersedes support previously available in Spring HATEOAS

Slide 15

Slide 15 text

No content

Slide 16

Slide 16 text

No content

Slide 17

Slide 17 text

HTTP/1.1 403 Forbidden Content-Type: application/problem+json Content-Language: en { "type": "https://example.com/probs/out-of-credit", "title": "You do not have enough credit.", "detail": "Your current balance is 30, but that costs 50.", "instance": "/account/12345/msgs/abc", "balance": 30, "accounts": ["/account/12345", "/account/67890"] }

Slide 18

Slide 18 text

Spring Boot • Improved observability support Portfolio projects instrumented with Micrometer • Native native story Spring Native folded into the portfolio projects

Slide 19

Slide 19 text

Spring Native

Slide 20

Slide 20 text

JVM AOT Native Image Runtime Build time Build time + GraalVM Native Images

Slide 21

Slide 21 text

JVM AOT Native Image Spring Native Spring Boot

Slide 22

Slide 22 text

JVM AOT Native Image Spring Native Spring Boot Spring Framework, Boot, ecosystem projects…

Slide 23

Slide 23 text

https://github.com/odrotbohm/spring-restbucks DEMO

Slide 24

Slide 24 text

Summary

Slide 25

Slide 25 text

Spring Boot Spring Framework ETA May Nov Support (commerial) Nov Feb Nov Feb Java / / JavaEE / JakartaEE / Jakarta Namespace javax.… jakarta.… Native support Spring Native built in

Slide 26

Slide 26 text

Questions? ! Oliver Drotbohm [email protected] / odrotbohm