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 full-size slide

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

    View full-size slide

  3. May '22 Nov '22

    View full-size slide

  4. 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 full-size slide

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

    View full-size slide

  6. javax.* -" jakarta.*

    View full-size slide

  7. Use Spring Boot Migrator!

    View full-size slide

  8. 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 full-size slide

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

    View full-size slide

  10. 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 full-size slide

  11. 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 full-size slide

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

    View full-size slide

  13. Spring Native

    View full-size slide

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

    View full-size slide

  15. JVM AOT Native
    Image
    Spring Native
    Spring Boot

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  18. 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 full-size slide

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

    View full-size slide