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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
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
130
What Spring Developers Should Know About Jakarta EE
ivargrimstad
0
140
What Spring Developers Should Know About Jakarta EE
ivargrimstad
0
370
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
410
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
490
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
500
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
750
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
1.1k
Duke on CRaC with Jakarta EE
ivargrimstad
0
1k
Other Decks in Programming
See All in Programming
ふつうのRubyist、ちいさなデバイス、大きな一年 / Ordinary Rubyists, Tiny Devices, Big Year
chobishiba
1
430
エラーログのマスキングの仕組みづくりに役立ったASTの話
kumoichi
0
170
AIコーディングの理想と現実 2026 | AI Coding: Expectations vs. Reality 2026
tomohisa
0
1.2k
AI主導でFastAPIのWebサービスを作るときに 人間が構造化すべき境界線
okajun35
0
690
Go1.26 go fixをプロダクトに適用して困ったこと
kurakura0916
0
360
今更考える「単一責任原則」 / Thinking about the Single Responsibility Principle
tooppoo
3
1.6k
AWS×クラウドネイティブソフトウェア設計 / AWS x Cloud-Native Software Design
nrslib
15
3k
Agentic AI: Evolution oder Revolution
mobilelarson
PRO
0
140
AI時代のシステム設計:ドメインモデルで変更しやすさを守る設計戦略
masuda220
PRO
5
790
nilとは何か 〜interfaceの構造とnil!=nilから理解する〜
kuro_kurorrr
3
1.9k
オブザーバビリティ駆動開発って実際どうなの?
yohfee
3
810
AI活用のコスパを最大化する方法
ochtum
0
130
Featured
See All Featured
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
1
3.5k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
1
150
[SF Ruby Conf 2025] Rails X
palkan
2
820
A Soul's Torment
seathinner
5
2.4k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
330
What does AI have to do with Human Rights?
axbom
PRO
1
2k
Deep Space Network (abreviated)
tonyrice
0
88
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.6k
Faster Mobile Websites
deanohume
310
31k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.2k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.1k
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