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, Java EE 7 or Both? @Øredev 2014
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
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
29
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
590
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
980
Duke on CRaC with Jakarta EE
ivargrimstad
0
980
Developing Specifications - Jakarta EE: a Real World Example
ivargrimstad
0
840
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
1.1k
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
1.1k
What Spring Developers Should Know About Jakarta EE
ivargrimstad
0
1.1k
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
1.1k
Other Decks in Technology
See All in Technology
こんなところでも(地味に)活躍するImage Modeさんを知ってるかい?- Image Mode for OpenShift -
tsukaman
0
150
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
5
1.6k
Webhook best practices for rock solid and resilient deployments
glaforge
2
300
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
15
93k
Context Engineeringが企業で不可欠になる理由
hirosatogamo
PRO
3
610
日本の85%が使う公共SaaSは、どう育ったのか
taketakekaho
1
230
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
10k
Context Engineeringの取り組み
nutslove
0
360
Bedrock PolicyでAmazon Bedrock Guardrails利用を強制してみた
yuu551
0
240
FinTech SREのAWSサービス活用/Leveraging AWS Services in FinTech SRE
maaaato
0
130
プロダクト成長を支える開発基盤とスケールに伴う課題
yuu26
4
1.3k
2026年、サーバーレスの現在地 -「制約と戦う技術」から「当たり前の実行基盤」へ- /serverless2026
slsops
2
250
Featured
See All Featured
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
1.9k
Raft: Consensus for Rubyists
vanstee
141
7.3k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
110
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
130
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
8.7k
The Invisible Side of Design
smashingmag
302
51k
KATA
mclloyd
PRO
34
15k
30 Presentation Tips
portentint
PRO
1
220
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
200
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
120
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