Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Spring 4, Java EE 7 or Both? @Øredev 2014
Search
ivargrimstad
November 07, 2014
Technology
0
120
Spring 4, Java EE 7 or Both? @Øredev 2014
Øredev 2014
ivargrimstad
November 07, 2014
Tweet
Share
More Decks by ivargrimstad
See All by ivargrimstad
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
180
Duke on CRaC with Jakarta EE
ivargrimstad
0
730
Developing Specifications - Jakarta EE: a Real World Example
ivargrimstad
0
640
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
970
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
980
What Spring Developers Should Know About Jakarta EE
ivargrimstad
0
1k
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
990
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
1.1k
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
800
Other Decks in Technology
See All in Technology
学習データって増やせばいいんですか?
ftakahashi
2
500
Lessons from Migrating to OpenSearch: Shard Design, Log Ingestion, and UI Decisions
sansantech
PRO
1
150
AWSを使う上で最低限知っておきたいセキュリティ研修を社内で実施した話 ~みんなでやるセキュリティ~
maimyyym
2
1.8k
re:Invent2025 3つの Frontier Agents を紹介 / introducing-3-frontier-agents
tomoki10
0
260
Jakarta Agentic AI Specification - Status and Future
reza_rahman
0
110
AWS re:Invent 2025で見たGrafana最新機能の紹介
hamadakoji
0
430
Power of Kiro : あなたの㌔はパワステ搭載ですか?
r3_yamauchi
PRO
0
180
生成AI活用の型ハンズオン〜顧客課題起点で設計する7つのステップ
yushin_n
0
240
NIKKEI Tech Talk #41: セキュア・バイ・デザインからクラウド管理を考える
sekido
PRO
0
160
AWS Security Agentの紹介/introducing-aws-security-agent
tomoki10
0
320
regrowth_tokyo_2025_securityagent
hiashisan
0
260
AI駆動開発の実践とその未来
eltociear
1
270
Featured
See All Featured
Designing Experiences People Love
moore
143
24k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
310
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
It's Worth the Effort
3n
187
29k
Git: the NoSQL Database
bkeepers
PRO
432
66k
The Cost Of JavaScript in 2023
addyosmani
55
9.4k
The Power of CSS Pseudo Elements
geoffreycrofte
80
6.1k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
47
33k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
For a Future-Friendly Web
brad_frost
180
10k
Transcript
@ivar_grimstad Øredev 2014 Spring 4, Java EE 7 or Both?
Ivar Grimstad
@ivar_grimstad Øredev 2014 @ivar_grimstad https://github.com/ivargrimstad https://www.linkedin.com/in/ivargrimstad http://lanyrd.com/profile/ivargrimstad/
@ivar_grimstad Øredev 2014 Contents Spring 4 Java EE 7 Combining
Spring 4 with Java EE 7
@ivar_grimstad Øredev 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 Øredev 2014 Spring Framework 4
@ivar_grimstad Øredev 2014
@ivar_grimstad Øredev 2014 XML ?
@ivar_grimstad Øredev 2014 Annotations and JavaConfig to the Rescue
@ivar_grimstad Øredev 2014 New in Spring 4
@ivar_grimstad Øredev 2014
@ivar_grimstad Øredev 2014 Java 8 Support
@ivar_grimstad Øredev 2014 @Repeatable @Fruit(1) @Fruit(2) class Bowl {} @Fruits({@Fruit(1),
@Fruit(2)}) class Bowl {}
@ivar_grimstad Øredev 2014 Callback Interfaces interface RowMapper<T> { T mapRow(ResultSet
rs, int rowNum); }
@ivar_grimstad Øredev 2014 Java EE 7 Support JMS 2.0 Concurrency
Utilities JTA 1.2 JPA 2.1 Bean Validation 1.1 Java EE 6 Support
@ivar_grimstad Øredev 2014 Groovy Bean Definition Language
@ivar_grimstad Øredev 2014 Core Container Improvements @Autowired private Foo<Integer> i;
@Autowired private Foo<String> s;
@ivar_grimstad Øredev 2014 Core Container Improvements @Conditional(WindowsCondition.class) @Bean private MyBean
windowsBean() { return new WindowsBean(); }
@ivar_grimstad Øredev 2014 Web Improvements @Controller @ResponseBody public Response foo()
{} @RestController public Response foo() {}
@ivar_grimstad Øredev 2014 WebSockets spring-websocket spring-messaging
@ivar_grimstad Øredev 2014 Java EE 7
@ivar_grimstad Øredev 2014 Overview
@ivar_grimstad Øredev 2014 Java EE 7 Focus Areas
@ivar_grimstad Øredev 2014 Developer Productivity
@ivar_grimstad Øredev 2014 Simplicity @Stateless public class Foo {}
@ivar_grimstad Øredev 2014 HTML 5
@ivar_grimstad Øredev 2014 WebSockets @ServerEndpoint public class Foo {} @ClientEndpoint
public class FooClient {
@ivar_grimstad Øredev 2014 Meeting Enterprise Demands
@ivar_grimstad Øredev 2014 JMS 2.0 @Stateless public class Foo {
@Inject private JMSContext context; @Resource(lookup=“jms/MyQueue”) private Queue queue; }
@ivar_grimstad Øredev 2014 Compatibility
@ivar_grimstad Øredev 2014 Mixing Spring 4 with Java EE 7
@ivar_grimstad Øredev 2014 Java EE 7 vs Spring 4
@ivar_grimstad Øredev 2014 Spring 4 vs Java EE 7
@ivar_grimstad Øredev 2014 Java EE 7 Container Java EE 7
Application (WAR) bean bean @Inject
@ivar_grimstad Øredev 2014 Spring 4 Container Spring 4 Application (WAR)
Spring 4 Context bean bean @Autowired
@ivar_grimstad Øredev 2014 So What about Mixing Spring and Java
EE?
@ivar_grimstad Øredev 2014 Java EE 7 -> Spring 4 Container
Java EE 7 Application (WAR) bean Spring 4 Context bean bean bean @Inject @Inject @Autowired
@ivar_grimstad Øredev 2014 Spring 4 -> Java EE 7 Container
Spring 4 Application (WAR) bean Spring 4 Context bean bean bean @Autowired @Inject @Autowired
@ivar_grimstad Øredev 2014 DEMO !
@ivar_grimstad Øredev 2014 Integrate a Spring 4 Component in Java
EE 7 Application
@ivar_grimstad Øredev 2014 Java EE 7 -> Spring 4 Container
Java EE 7 Application (WAR) resource simple @Inject Spring 4 Context awsome simple @Autowired @Inject
@ivar_grimstad Øredev 2014 Java EE 7 -> Spring 4 Container
Java EE 7 Application (WAR) resource awsome simple Spring 4 Context @Autowired @Inject @Inject
@ivar_grimstad Øredev 2014 Java EE 7 -> Spring 4 Container
Java EE 7 Application (WAR) resource awsome simple simple @Inject @Inject @Autowired X
@ivar_grimstad Øredev 2014 Integrate a Java EE 7 Component in
Spring 4 Application
@ivar_grimstad Øredev 2014 Spring 4 -> Java EE 7 Container
Spring 4 Application (WAR) awsome simple @Inject Spring 4 Context resource simple @Autowired @EJB
@ivar_grimstad Øredev 2014 Spring 4 -> Java EE 7 Container
Spring 4 Application (WAR) awsome simple @Inject resource Spring 4 Context @Autowired @EJB
@ivar_grimstad Øredev 2014 Spring 4 -> Java EE 7 Container
Spring 4 Application (WAR) awsome resource Spring 4 Context @EJB @Inject simple @Autowired @Autowired X
@ivar_grimstad Øredev 2014 Summary
@ivar_grimstad Øredev 2014 Spring 4 and Java EE 7 solves
the same problem
@ivar_grimstad Øredev 2014 Java EE 7 require less configuration and
dependencies
@ivar_grimstad Øredev 2014 Spring 4 is more portable
@ivar_grimstad Øredev 2014 Using Spring 4 from Java EE is
safer
@ivar_grimstad Øredev 2014 Mixing is possible
@ivar_grimstad Øredev 2014 …but…
@ivar_grimstad Øredev 2014 Favor one framework over mixing
@ivar_grimstad Øredev 2014 Use Cases
@ivar_grimstad Øredev 2014 Container Java EE 7 Application (WAR) bean
Spring 4 Context bean bean bean @Inject @Inject @Autowired Use Spring Component
@ivar_grimstad Øredev 2014 Container Java EE 7 Application (WAR) bean
Spring 4 Context bean bean bean @Inject @Inject @Autowired Migration
@ivar_grimstad Øredev 2014 Container Spring 4 Application (WAR) bean Spring
4 Context bean bean bean @Autowired @Inject @Autowired Migration
@ivar_grimstad Øredev 2014 Sources https://github.com/ivargrimstad/spring-javaee
@ivar_grimstad Øredev 2014 cybercom.com