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
340
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
Spring Modulith – A Deep Dive
olivergierke
7
1.8k
Spring for the Architecturally Curious Developer
olivergierke
5
1.6k
Spring Boot 3 & Spring Framework 6
olivergierke
4
1.8k
Architecturally-evident Java Applications with jMolecules
olivergierke
8
2.4k
A Deep Dive into Spring Application Events
olivergierke
12
2.8k
Building Better Monoliths – Modulithic Applications with Spring Boot
olivergierke
4
820
Spring HATEOAS – Hypermedia APIs with Spring
olivergierke
1
560
Building Better Monoliths – Modulithic Applications with Spring Boot
olivergierke
6
3.8k
REST Beyond the Obvious – API Design for Ever Evolving Systems
olivergierke
5
1.1k
Other Decks in Programming
See All in Programming
雑に思考を整理する技術と効能
konifar
57
26k
try! Swift Tokyo 初参加報告LT
hinakko2
0
190
効率化に挑戦してみたらモバイル開発が少し快適になった話
ryunakayama
0
100
Site Reliability Engineering for GMO
pyama86
6
980
見た目から始める生産性向上
ikumatadokoro
4
170
코틀린으로 멀티플랫폼 만들기
pangmoo
0
120
CQRS/ES avec Symfony, c’est (trop) bien !
jeremyfreeagent
1
630
Micro Frontends for Java Microservices - Devnexus 2024
mraible
PRO
0
440
Azure OpenAI Serviceのプロンプトエンジニアリング入門
tomokusaba
3
130
puregoの活用例
aethiopicuschan
0
220
Git Rebase
bkuhlmann
11
1.6k
AWS Application Composerで始める、 サーバーレスなデータ基盤構築 / 20240406-jawsug-hokuriku-shinkansen
kasacchiful
1
250
Featured
See All Featured
Designing for humans not robots
tammielis
247
25k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
154
14k
5 minutes of I Can Smell Your CMS
philhawksworth
199
19k
The Straight Up "How To Draw Better" Workshop
denniskardys
227
130k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
356
22k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
19
1.9k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
124
32k
Build The Right Thing And Hit Your Dates
maggiecrowley
23
2k
VelocityConf: Rendering Performance Case Studies
addyosmani
320
23k
How to name files
jennybc
64
92k
Typedesign – Prime Four
hannesfritz
36
2.1k
Docker and Python
trallard
33
2.7k
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!