Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
From Spring Boot 2.2 to Spring Boot 2.3
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Stéphane Nicoll
February 25, 2020
Programming
220
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
From Spring Boot 2.2 to Spring Boot 2.3
Stéphane Nicoll
February 25, 2020
More Decks by Stéphane Nicoll
See All by Stéphane Nicoll
Testing the Spring Framework
snicoll
0
500
Spring Boot 2.0 Web Applications
snicoll
5
1.7k
Spring Framework 5.0 Themes and Trends
snicoll
15
15k
Spring Boot 1.3 pour le web
snicoll
3
620
Cloud Native Apps with Spring Cloud
snicoll
1
530
From Zero to Hero with Spring Boot (extended version)
snicoll
2
1.6k
Master Spring Boot auto-configuration
snicoll
7
4.5k
De zéro à héros avec Spring Boot
snicoll
10
6k
"Bootiful" Applications with Spring Boot
snicoll
3
1.1k
Other Decks in Programming
See All in Programming
AI時代に設計が 最大の生産性レバーになる 意図駆動開発とデータを消さない設計|Don't Delete Your Data or Your Intent — Design as the Deepest Lever in the AI Era
tomohisa
0
120
OpenSpecのproposalにbrainstormingを持たせてみた
tigertora7571
1
150
Foundation Models frameworkで画像分析
ryodeveloper
1
160
なぜ関数型プログラミングで「型」と「証明」が語られるのか #fp_matsuri
kajitack
3
1.1k
為什麼你並不需要ViewModel / No, you don't need a ViewModel
lovee
1
450
AWS CDK を「作」ってみた 〜フルスクラッチで見えた CDK の裏側〜 / aws-cdk-from-scratch
gotok365
3
2.7k
JAWS-UG横浜 #102 AWSサ終供養LT会 成仏できない AWS サービスたち 〜本日、三体供養します〜
maroon1st
0
270
2年かけて Deno に DOMMatrix を実装した話 / How I implemented DOMMatrix in Deno over two years
petamoriken
0
180
Google Apps Script で Ruby を動かす
kawahara
0
120
エンジニアにデザインハーネスを 〜デザインプロセスを規定するためのハーネス〜 / Design harness from an engineer's perspective
rkaga
2
1.8k
Embedded SREと共に達成した会員管理システムのAWS移行 - SRE NEXT 2026 ランチスポンサーセッション
niftycorp
PRO
1
3.2k
Build-to-own AI: Agentic Development for Humans
inesmontani
PRO
0
130
Featured
See All Featured
So, you think you're a good person
axbom
PRO
2
2.1k
Design in an AI World
tapps
1
270
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
201
75k
Scaling GitHub
holman
464
140k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.8k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.2k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
4.2k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
330
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
420
Ethics towards AI in product and experience design
skipperchong
2
330
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
230
How to Talk to Developers About Accessibility
jct
2
450
Transcript
© Copyright 2020 Pivotal Software, Inc. All rights Reserved. From
Spring Boot 2.2 to Spring Boot 2.3 Stéphane Nicoll - @snicoll
2019 Edition Recap October 7-10 2019 Austin Convention Center
None
None
None
Spring Boot 2.2
Java 13 https://github.com/spring-projects/spring-framework/wiki/Spring-Framework-Versions#jdk-version-range
Dependency management Upgrades
New Features
Important Features
None
RSocket
RSocket
Health Indicator Group
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
Immutable Configuration Properties
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; } ... }
@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
JUnit 5
JUnit 5 // @ExtendWith(SpringExtension.class) @SpringBootTest class MyApplicationTests { @Test void
resourceFileCreated(@TempDir Path tmpDir) { // ... } }
Performance
Performance • Startup time • Lazy initialization • Runtime performance
start.spring.io
None
None
None
Statistics
How many projects do we generate a year? 10K 100K
1M+
How many projects do we generate a year? 10K 100K
1M+ ✔ month
What are the top 3 countries?* India US China *
Sep 2018 - Sep 2019 #15
What’s the client split?* Web IDE CLI * Sep 2018
- Sep 2019
What’s the client split?* Web IDE CLI * Sep 2018
- Sep 2019 (without China)
⚡To Spring Boot 2.3⚡
Spring Framework 5.3
Spring Framework 5.3 • Preparing for JDK 17 LTS •
Embracing GraalVM native images • Wrap-up 5.x themes (RSocket, Coroutines)
Spring Boot 2.3
Spring Boot 2.3 • Container Support with Cloud Native Buildpacks
• Kubernetes Support • Dependency Upgrades (Spring Data) • 6 months release cadence (Apr 2020)
Support Policy
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
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
© Copyright 2020 Pivotal Software, Inc. All rights Reserved. From
Spring Boot 2.2 to Spring Boot 2.3 & 2.4 @snicoll Thanks!