$30 off During Our Annual Pro Sale. View Details »

From Spring Boot 2.2 to Spring Boot 2.3

From Spring Boot 2.2 to Spring Boot 2.3

Stéphane Nicoll

February 25, 2020
Tweet

More Decks by Stéphane Nicoll

Other Decks in Programming

Transcript

  1. © Copyright 2020 Pivotal Software, Inc. All rights Reserved.
    From Spring Boot 2.2 to Spring
    Boot 2.3
    Stéphane Nicoll - @snicoll

    View Slide

  2. 2019 Edition Recap
    October 7-10 2019
    Austin Convention Center

    View Slide

  3. View Slide

  4. View Slide

  5. View Slide

  6. Spring Boot 2.2

    View Slide

  7. Java 13
    https://github.com/spring-projects/spring-framework/wiki/Spring-Framework-Versions#jdk-version-range

    View Slide

  8. Dependency management Upgrades

    View Slide

  9. New Features

    View Slide

  10. Important Features

    View Slide

  11. View Slide

  12. RSocket

    View Slide

  13. RSocket

    View Slide

  14. Health Indicator Group

    View Slide

  15. Health Indicator Group
    management.endpoint.health.group.liveness.include=ping
    management.endpoint.health.group.readiness.include=db,redis
    GET /actuator/health/liveness
    GET /actuator/health/readiness

    View Slide

  16. Immutable Configuration Properties

    View Slide

  17. Immutable Configuration Properties
    @ConfigurationProperties("acme")
    @ConstructorBinding
    public class AcmeProperties {
    private final Duration timeout;
    private final DataSize bufferSize;
    private final Security security;
    public AcmeProperties(@DefaultValue("10s") Duration timeout, DataSize bufferSize,
    Security security) {
    this.timeout = timeout;
    this.bufferSize = bufferSize;
    this.security = security;
    }
    ...
    }

    View Slide

  18. @ConfigurationProperties("acme")
    @ConstructorBinding
    data class AcmeProperties(val timeout: Duration = Duration.ofSeconds(10),
    val bufferSize: DataSize?,
    val security: Security) {
    ...
    }
    https://github.com/snicoll/demo-immutable-config-props
    Immutable Configuration Properties

    View Slide

  19. JUnit 5

    View Slide

  20. JUnit 5
    // @ExtendWith(SpringExtension.class)
    @SpringBootTest
    class MyApplicationTests {
    @Test
    void resourceFileCreated(@TempDir Path tmpDir) {
    // ...
    }
    }

    View Slide

  21. Performance

    View Slide

  22. Performance
    • Startup time
    • Lazy initialization
    • Runtime performance

    View Slide

  23. start.spring.io

    View Slide

  24. View Slide

  25. View Slide

  26. View Slide

  27. Statistics

    View Slide

  28. How many projects do we
    generate a year?
    10K
    100K
    1M+

    View Slide

  29. How many projects do we
    generate a year?
    10K
    100K
    1M+

    month

    View Slide

  30. What are the top 3 countries?*
    India
    US
    China



    * Sep 2018 - Sep 2019
    #15

    View Slide

  31. What’s the client split?*
    Web IDE
    CLI
    * Sep 2018 - Sep 2019

    View Slide

  32. What’s the client split?*
    Web IDE
    CLI
    * Sep 2018 - Sep 2019 (without China)

    View Slide

  33. ⚡To Spring Boot 2.3⚡

    View Slide

  34. Spring Framework 5.3

    View Slide

  35. Spring Framework 5.3
    • Preparing for JDK 17 LTS
    • Embracing GraalVM native images
    • Wrap-up 5.x themes (RSocket, Coroutines)

    View Slide

  36. Spring Boot 2.3

    View Slide

  37. Spring Boot 2.3
    • Container Support with Cloud Native Buildpacks
    • Kubernetes Support
    • Dependency Upgrades (Spring Data)
    • 6 months release cadence (Apr 2020)

    View Slide

  38. Support Policy

    View Slide

  39. Support Policy
    October 2018 Spring Boot 2.1 GA
    August 2019 Spring Boot 1 EOL
    January 2020 Spring Framework 5.0/4.3 last release
    October 2019 Spring Boot 2.2 GA

    View Slide

  40. April 2020 Spring Boot 2.3 GA
    October 2020 Spring Framework 5.3 / Spring Boot 2.4 GA
    December 2020 Spring Framework 5.1/4.3 EOL
    November 2020 Spring Boot 2.1 EOL
    Support Policy

    View Slide

  41. © Copyright 2020 Pivotal Software, Inc. All rights Reserved.
    From Spring Boot 2.2 to Spring
    Boot 2.3 & 2.4
    @snicoll
    Thanks!

    View Slide