Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Spring Boot 3 & Spring Framework 6

Spring Boot 3 & Spring Framework 6

Oliver Drotbohm

November 08, 2022
Tweet

More Decks by Oliver Drotbohm

Other Decks in Programming

Transcript

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

    View Slide

  2. View Slide

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

    View Slide

  4. May '22 Nov '22

    View Slide

  5. 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

    View Slide

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

    View Slide

  7. javax.* -" jakarta.*

    View Slide

  8. Use Spring Boot Migrator!

    View Slide

  9. View Slide

  10. View Slide

  11. View Slide

  12. 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

    View Slide

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

    View Slide

  14. 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

    View Slide

  15. View Slide

  16. View Slide

  17. 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"]
    }

    View Slide

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

    View Slide

  19. Spring Native

    View Slide

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

    View Slide

  21. JVM AOT Native
    Image
    Spring Native
    Spring Boot

    View Slide

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

    View Slide

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

    View Slide

  24. Summary

    View Slide

  25. 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

    View Slide

  26. Questions? !
    Oliver Drotbohm [email protected]
    / odrotbohm

    View Slide