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
JEEConf - Spring 4, Java EE 7 or Both? @JEEConf...
Search
ivargrimstad
May 24, 2014
Programming
3
2.3k
JEEConf - Spring 4, Java EE 7 or Both? @JEEConf 2014
Slides from talk at JEEConf 2014 in Kiev.
ivargrimstad
May 24, 2014
Tweet
Share
More Decks by ivargrimstad
See All by ivargrimstad
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
95
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
200
Advance Your Career with Open Source
ivargrimstad
0
400
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
510
The Past, Present, and Future of Enterprise Java with ASF in the Middle
ivargrimstad
0
750
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
820
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
740
Jakarta EE Core Profile and Helidon - Speed, Simplicity, and AI Integration
ivargrimstad
0
700
Jakarta EE Meets AI
ivargrimstad
0
790
Other Decks in Programming
See All in Programming
iOSアプリの信頼性を向上させる取り組み/ios-app-improve-reliability
shino8rayu9
0
160
ネイティブ製ガントチャートUIを作って学ぶUICollectionViewLayoutの威力
jrsaruo
0
140
Go Conference 2025: Goで体感するMultipath TCP ― Go 1.24 時代の MPTCP Listener を理解する
takehaya
7
1.6k
CSC305 Lecture 03
javiergs
PRO
0
240
複雑化したリポジトリをなんとかした話 pipenvからuvによるモノレポ構成への移行
satoshi256kbyte
1
870
Building, Deploying, and Monitoring Ruby Web Applications with Falcon (Kaigi on Rails 2025)
ioquatix
3
1.2k
ててべんす独演会〜Flowの全てを語ります〜
tbsten
1
220
大規模アプリのDIフレームワーク刷新戦略 ~過去最大規模の並行開発を止めずにアプリ全体に導入するまで~
mot_techtalk
0
410
overlayPreferenceValue で実現する ピュア SwiftUI な AdMob ネイティブ広告
uhucream
0
170
The Flutter Journey of Building a Live Streaming App — With a Side of Performance Tuning
u503
1
100
Go言語の特性を活かした公式MCP SDKの設計
hond0413
1
200
タスクの特性や不確実性に応じた最適な作業スタイルの選択(ペアプロ・モブプロ・ソロプロ)と実践 / Optimal Work Style Selection: Pair, Mob, or Solo Programming.
honyanya
3
150
Featured
See All Featured
How to Ace a Technical Interview
jacobian
280
24k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
What's in a price? How to price your products and services
michaelherold
246
12k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.2k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
890
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
36
2.5k
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.9k
Unsuck your backbone
ammeep
671
58k
Done Done
chrislema
185
16k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.1k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
114
20k
Transcript
@ivar_grimstad JEEConf 2014 Spring 4, Java EE 7 or Both?
Ivar Grimstad
@ivar_grimstad JEEConf 2014
@ivar_grimstad JEEConf 2014 Spring 4 Java EE 7 Combining Spring
4 with Java EE 7 Contents
@ivar_grimstad JEEConf 2014 Timeline 1998 2014 JPE J2EE 1.2 J2EE
1.3 J2EE 1.4 Java EE 5 Java EE 6 Java EE 7 Spring Spring 1 Spring 2 Spring 3 Spring 4
@ivar_grimstad JEEConf 2014 Spring Framework 4
@ivar_grimstad JEEConf 2014
@ivar_grimstad JEEConf 2014 XML ?
@ivar_grimstad JEEConf 2014 Annotations and JavaConfig to the Rescue
@ivar_grimstad JEEConf 2014 New in Spring Framework 4
@ivar_grimstad JEEConf 2014
@ivar_grimstad JEEConf 2014 Java 8 Support
@ivar_grimstad JEEConf 2014 @Repeatable @Fruit(1) @Fruit(2) class Bowl {} !
@Fruits({@Fruit(1), @Fruit(2)}) class Bowl {}
@ivar_grimstad JEEConf 2014 Callback Interfaces interface RowMapper<T> { T mapRow(ResultSet
rs, int rowNum); }
@ivar_grimstad JEEConf 2014 Java EE 7 Support Java EE 6
Support
@ivar_grimstad JEEConf 2014 Groovy Bean Definition Language
@ivar_grimstad JEEConf 2014 Core Container Improvements @Autowired private Foo<Integer> i;
! @Autowired private Foo<String> s;
@ivar_grimstad JEEConf 2014 Web Improvements @Controller @ResponseBody public Response foo()
{} @RestController public Response foo() {}
@ivar_grimstad JEEConf 2014 WebSockets spring-websocket ! spring-messaging
@ivar_grimstad JEEConf 2014 Java EE 7
@ivar_grimstad JEEConf 2014 Java EE 7 Focus Areas
@ivar_grimstad JEEConf 2014 Developer Productivity
@ivar_grimstad JEEConf 2014 Simplicity @Stateless public class Foo {}
@ivar_grimstad JEEConf 2014 HTML 5
@ivar_grimstad JEEConf 2014 WebSockets @ServerEndpoint public class Foo {}
@ivar_grimstad JEEConf 2014 Meeting Enterprise Demands
@ivar_grimstad JEEConf 2014 JMS 2.0 @Stateless public class Foo {
! @Inject private JMSContext context; ! @Resource(lookup=“jms/MyQueue”) private Queue queue; }
@ivar_grimstad JEEConf 2014 Overview
@ivar_grimstad JEEConf 2014 Compatibility
@ivar_grimstad JEEConf 2014 Mixing Spring 4 with Java EE 7
@ivar_grimstad JEEConf 2014 Java EE 7 vs Spring 4
@ivar_grimstad JEEConf 2014 Spring 4 vs Java EE 7
@ivar_grimstad JEEConf 2014 Spring 4
@ivar_grimstad JEEConf 2014 Java EE 7
@ivar_grimstad JEEConf 2014 Spring 4 + Java EE 7
@ivar_grimstad JEEConf 2014 DEMO !
@ivar_grimstad JEEConf 2014 Create a Spring 4 Application Rewrite it
to Java EE 7 Combine the two approaches Run them in different application servers WildFly, GlassFish, Tomcat Contents
@ivar_grimstad JEEConf 2014 Summary Summary
@ivar_grimstad JEEConf 2014 Spring 4 Config @Configuration @ComponentScan(“eu.agilejava.spring4”) @EnableWebMvc public
class ApplicationConfig extends WebMvcConfigurerAdapter { }
@ivar_grimstad JEEConf 2014 Java EE 7 Config @ApplicationPath(“api”) public class
ApplicationConfig extends Application { }
@ivar_grimstad JEEConf 2014 Spring 4 + Java EE 7 Config
@Configuration @ComponentScan(“eu.agilejava.both”) @ApplicationPath(“api”) public class ApplicationConfig extends Application { }
@ivar_grimstad JEEConf 2014 Spring 4 Portability No configuration changes No
code changes New dependency (pom.xml)
@ivar_grimstad JEEConf 2014 Java EE 7 Portability Minor configuration changes
No code changes No new dependencies (pom.xml)
@ivar_grimstad JEEConf 2014 Spring 4 + Java EE 7 Portability
Configuration changes No code changes New dependencies (pom.xml)
@ivar_grimstad JEEConf 2014 Spring 4 is more portable Conclusion
@ivar_grimstad JEEConf 2014 Java EE 7 requires less configuration Conclusion
@ivar_grimstad JEEConf 2014 Java EE 7 requires less dependencies Conclusion
@ivar_grimstad JEEConf 2014 Mixing is possible Conclusion
@ivar_grimstad JEEConf 2014 Favor one framework over mixing
@ivar_grimstad JEEConf 2014 https://github.com/ivargrimstad/spring-javaee Sources
@ivar_grimstad JEEConf 2014 cybercom.com