从Spring起,Java EE 6必须具备哪些附加功能?
我堅信,作為Java開發人員,我必須保持(至少很少)最新技術的更新。 因此,我(許多Java開發人員)通常都會關注Java社區的網站或博客,以了解Java社區的最新情況。 具體來說,我確實會跟蹤一些Java冠軍或知名作家的最新消息,因為他們可能對Java領域的下一件大事有更好的了解。
幾年前,我見過很多人談論春天。 然后我開始學習Spring,但我仍然喜歡它。 我已經使用JavaEE5兩年了,但是我沒有發現Spring沒有提供的任何功能。 但是最近,我每兩天看到太多關于“從Spring遷移到JavaEE6”的文章。 因此,我想嘗試一下,我安裝了NetBeans7.1,Glassfish3.1,并做了一個簡單的POC。 太好了,我僅用10分鐘就可以編寫一個簡單的應用程序。
是的,JavaEE6在其前身上進行了很多改進。
但是,我再也沒有看到Spring無法做到的任何新事物。
好的,讓我分享我對“從Spring遷移到JavaEE6”文章作者選擇的標準的看法。
1. WEB-INF / lib中有很多Jar
Spring應用程序在WEB-INF / lib中具有依賴關系,而JavaEE6應用程序在服務器lib中具有依賴關系。 即使對于Spring應用程序,我們也不需要手動下載所有這些Jar,我們可以使用Maven / Ivy,甚至可以從配置了所有依賴項的原型模板開始。 而且這是唯一的工作。 我不確定通過在服務器庫中而不是WEB-INF / lib中使用jars可以提高性能。 如果是這種情況,我們可以將Spring應用程序依賴項放在服務器庫中。
我在這里想念的是什么?
2.類型安全的依賴注入
從Spring 2.5開始,我們使用@Autowired提供了基于注釋的DI支持,如果您仍然說Spring是基于XML的,請看一下Spring3.x。 如果您想給spring bean指定一個自定義名稱(如果對同一接口有多個實現),則可以。 它與JavaEE6的CDI @Injext和@Named有何不同?
3.約定優于配置
EJB3方法默認情況下是事務性的,只需使用@Stateless對其進行拍擊即可。 在Spring中,我們可以創建一個自定義StereoType,例如@TransactionalServe,例如@Service @Transactional public @interface TransactionalServe {},并且可以實現Convention over Configuration。
我在這里想念什么嗎?
4. Spring依賴JavaEE
當然,Spring取決于JavaSE和JavaEE。 Spring只是使開發變得容易。 您始終可以通過更簡單的方式在Spring中使用JavaEE API,例如JSF,JPA,JavaMail等。 有人說Spring完全消失了JavaEE嗎? 沒有。
5.基于標準,App Server支持,許可等等。
這些是開發人員沒有太多(任何)控制的東西。 從開發人員的角度來看,我們喜歡使開發變得更容易的一切。 因此,我沒有看到任何有效的理由將現有的Spring應用程序遷移到JavaEE6。 到現在為止,我還沒有發現CDI可以做的事情和Spring不能做的事情。 對于僅進行依賴注入的新建項目,我們可能不需要Spring,因為我們已經在JavaEE6中內置了CDI。 JavaEE6是否解決以下任何問題:
1. 批處理 :幾乎所有大企業都有一些批處理作業要運行。 JavaEE6是否支持實現它們。 您是否建議使用Spring Batch或在原始JavaEE6中從頭開始。
2. 社交網絡集成 :這些天來,Web應用程序與社交網絡站點集成已成為非常普遍的要求。 同樣,您在JavaEE6中擁有什么呢?
3. 環境配置文件:在Spring中,可以在“測試”配置文件中啟用我的模擬服務,在“生產”配置文件中啟用我的真實服務。 我知道@Alternative,但是我們可以在不使用基于String的注入的情況下配置兩個以上的替代方法嗎? 4. Web應用程序安全性: JavaEE6中Spring-security的對應部分是什么? 5.如何與NoSQL,Flex,移動開發等集成?
JavaEE6現在獲得了CDI,因此Spring突然成為了遺產!
結論:是的,JavaEE6現在(很晚才有)很酷的東西,但是無論如何它不會取代Spring。 春天萬歲。
參考: JavaEE6必須從Spring獲得哪些附加功能? 我的JCG合作伙伴 Siva Reddy的“ 我的實驗”博客上的內容。
翻譯自: https://www.javacodegeeks.com/2012/04/what-additional-features-does-java-ee-6.html
總結
以上是生活随笔為你收集整理的从Spring起,Java EE 6必须具备哪些附加功能?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 搜狗Linux输入法(搜狗 linux
- 下一篇: 安卓锁屏壁纸怎么设置方法(安卓锁屏壁纸)