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
Spring 4 - A Guided Tour
Search
Oliver Drotbohm
October 30, 2013
Programming
370
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Spring 4 - A Guided Tour
Slides of my talk a JAX London, 2013
Oliver Drotbohm
October 30, 2013
More Decks by Oliver Drotbohm
See All by Oliver Drotbohm
What's new in Spring Modulith?
olivergierke
1
330
Domain-centric? Why Hexagonal and Onion Architecture Are Answers to the Wrong Question
olivergierke
4
2.1k
It Takes Two to Tango – Designing Module Interactions in Modulithic Spring Applications
olivergierke
5
830
Bottom-Up Architecture – Bridging the Achitecture Code Gap
olivergierke
4
1.1k
Spring Modulith – A Deep Dive
olivergierke
9
5.7k
Spring for the Architecturally Curious Developer
olivergierke
5
1.9k
Spring Boot 3 & Spring Framework 6
olivergierke
4
2.1k
Architecturally-evident Java Applications with jMolecules
olivergierke
9
3.2k
A Deep Dive into Spring Application Events
olivergierke
12
3.5k
Other Decks in Programming
See All in Programming
LLMによるContent Moderationの本番運用の裏側と品質担保への挑戦
suikabar
3
850
エンジニア向け会社紹介/Findy Company Profile
findyinc
6
360k
Generative UI & AI-Assistants for Your Angular Solutions
manfredsteyer
PRO
0
110
分散システム、なんですぐ死んでしまうん?耐障害性を高めたいあなたのためのレジリエンスパターン入門
mshibuya
7
6.1k
AI駆動開発を妨げる技術的負債の解消アプローチ / ai-refactoring-approach
minodriven
17
9.1k
ルールを書いて終わらせないハーネスエンジニアリング
yug1224
2
1.4k
これからAgentCoreを触る方へトレンドはGatewayです
har1101
6
490
JAWS-UG横浜 #102 AWSサ終供養LT会 成仏できない AWS サービスたち 〜本日、三体供養します〜
maroon1st
0
200
AI時代の仕事技芸論〜ソフトウェア開発で「遊ぶように働く」職人的熟達のすすめ(スクフェス仙台 2026バージョン)
kuranuki
0
640
信頼性について考えてみる(SRE NEXT 2026 miniLT)
hayama17
0
190
アルゴリズムは何を圧縮しているのか ─ Haskell から育った「圧縮代数」というメンタルモデル
naoya
16
3.5k
作るコストが小さくなった時代 幸せに働くために改めて考えたいこと 〜エンジニアとして価値を出し続けるために注視している二分野〜
yuppeeng
0
100
Featured
See All Featured
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
460
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
62
45k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.6k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
550
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
610
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
320
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.3k
Testing 201, or: Great Expectations
jmmastey
46
8.2k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
410
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
720
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
220
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
900
Transcript
Spring 4 A guided tour ! ! ! ! !
! Oliver Gierke
Oliver Gierke ! Pivotal Spring Data Lead JPA 2.1 Expert
Group ! !
[email protected]
www.olivergierke.de olivergierke
Sample code https://github.com/olivergierke/spring4-guided-tour
Where do we come from?
Spring 3.x
Spring 3.x Annotation based component model Java Configuration Composable Annotations
SpEL REST @ MVC, Async
Spring 3.x Declarative validation, formatting, caching and scheduling Spring MVC
integration tests JSR-330, JSR-303 JPA 2.0, Servlet 3.0
Demo
Spring 4
Pruning Removed deprecated packages and methods
Spec upgrades JMS 2.0 JTA 1.2 JPA 2.1 Bean Validation
1.1 JSR-236 Concurrency
Get groovy Groovy BeanBuilder GenericGroovyApplicationContext
Conditional bean definitions @Conditional More generalized version of @Profile Spring
Boot makes heavy use of that
Composable annotations
Demo
Autowiring with generics
Demo
Hypermedia
Demo
Messaging and WebSockets
Messaging and WebSockets Messaging abstraction from SI JSR-356 (+SockJS, Stomp
etc.) Highly recommended talk by Rossen Stoyanchev http://bit.ly/spring4-websockets
JDK 8 Support
The state of Java8 Current OpenJDK 8 works for us
Best IDE support: IntelliJ 12 STS has Java 8 support preview
JDK 8 Support Lambda expressions Method references JSR-310 DateTime Repeatable
annotations Parameter name discovery
Lambda expressions SAM types Works with previously existing callbacks JdbcTemplate,
JmsTemplate, TransactionTemplate etc.
Demo
Parameter names Advanced reflection support Parameter names on interfaces
"Should I upgrade to Spring 4.0 already?
Upgrade We strongly recommend to upgrade RC in a few
days, GA by December Fully compatible with Java 6 and 7 Spring 3.2 in maintenance mode
What is Spring IO?
None
None
Spring Boot
Spring Boot Application dependency management Sensible configuration defaulting Easy application
bootstrap
Demo
Spring Data JPA 3:50-4:50pm - Edward 1-2
Spring eXchange Nov. 14th-15th http://bit.ly/spring-exchange
Questions?
Thanks!