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
1
350
Spring 4 - A Guided Tour
Slides of my talk a JAX London, 2013
Oliver Drotbohm
October 30, 2013
Tweet
Share
More Decks by Oliver Drotbohm
See All by Oliver Drotbohm
What's new in Spring Modulith?
olivergierke
1
180
Domain-centric? Why Hexagonal, Onion, and Clean Architecture Are Answers to the Wrong Question
olivergierke
3
990
It Takes Two to Tango – Designing Module Interactions in Modulithic Spring Applications
olivergierke
5
750
Bottom-Up Architecture – Bridging the Achitecture Code Gap
olivergierke
4
980
Spring Modulith – A Deep Dive
olivergierke
8
4.6k
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
3k
A Deep Dive into Spring Application Events
olivergierke
12
3.4k
Other Decks in Programming
See All in Programming
Migration to Signals, Resource API, and NgRx Signal Store
manfredsteyer
PRO
0
130
CSC305 Lecture 10
javiergs
PRO
0
320
20251016_Rails News ~Rails 8.1の足音を聴く~
morimorihoge
3
890
Pythonに漸進的に型をつける
nealle
1
140
CSC509 Lecture 07
javiergs
PRO
0
250
バッチ処理を「状態の記録」から「事実の記録」へ
panda728
PRO
0
210
One Enishi After Another
snoozer05
PRO
0
170
Blazing Fast UI Development with Compose Hot Reload (Bangladesh KUG, October 2025)
zsmb
2
430
Blazing Fast UI Development with Compose Hot Reload (droidcon London 2025)
zsmb
0
420
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
410
オープンソースソフトウェアへの解像度🔬
utam0k
18
3.2k
登壇は dynamic! な営みである / speech is dynamic
da1chi
0
390
Featured
See All Featured
The Invisible Side of Design
smashingmag
302
51k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Code Reviewing Like a Champion
maltzj
526
40k
Being A Developer After 40
akosma
91
590k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
253
22k
Speed Design
sergeychernyshev
32
1.2k
Raft: Consensus for Rubyists
vanstee
140
7.2k
A better future with KSS
kneath
239
18k
jQuery: Nuts, Bolts and Bling
dougneiner
65
7.9k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.5k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
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!