日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

JavaSE、JavaEE与Spring的概念和异同点剖析

發布時間:2025/1/21 java 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JavaSE、JavaEE与Spring的概念和异同点剖析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

JavaSE、JavaEE與Spring的概念和異同點剖析

什么是JavaSE

JavaSE是Java的核心,也就是 Java的主要部分。用于開發桌面應用程序和基于web的應用程序。它提供了從基本對象到高級類的所有東西,這些類被用于網絡、數據庫訪問、安全、xml解析、gui開發。除了這些核心的api之外,它還提供了虛擬機JVM、開發工具、部署技術等。

什么是JavaEE

JavaEE是一個抽象的規范。具體實現稱為應用服務器,如GlassFish、WildFly、WebLogic等。當你從Oracle站點下載JavaEE時,它將給你提供大量文檔和示例的GlassFish服務器。因此,它們只是提供了Java Enterprise Edition規范的實現。你還可以使用其他的實現,比如RedHat WildFly,它也遵循這些規范。因此,J2EE是1999年-2003年JavaEE的抽象規范的版本名稱。EJB遵循JavaEE規范,所以EJB屬于JavaEE。

什么是Spring

Spring遵循所有的JavaEE規范嗎?嚴格的說不是。Spring是一個獨立的框架,它替代并改進了JavaEE的許多部分,你可以將Spring視為一個集成平臺,允許你使用所有JavaEE技術。這意味著你不一定需要完整的fledge JavaEE應用服務器來支持,你可以在像Tomcat這樣的簡單的servlet容器上運行它。Spring是一個獨立的集成平臺,在JavaEE中有改進和替換,也允許你使用JavaEE技術。

JavaEE與Spring的區別

Rod Johnson帶著他的革命書籍《J2EE Development without EJB》,描述了新的Spring框架的特性。它就像一股新鮮空氣,很快,Spring的直覺依賴注入功能成為了控制反轉IOC設計模式的實際標準實現,從那時起,J2EE和Spring都在發展,盡管Spring似乎總是在前進。spring引入的所有最佳功能后來都被標準企業Java采納,包括:spring ioc在J2EE中實現為容器依賴注入CDI;J2EE作為JSR 352實現的spring批處理:Java平臺的批處理應用程序。公平地說,在Java中很酷的新功能,比如注解,也會導致對spring的修改,除了在第三次迭代中提供基于注解的配置之外,spring也變得模塊化,至少在一定程度上歸功于maven的盛行,它引入了一種解決和管理依賴第三方庫的新方法。事實上,J2EE和spring繼續相互影響并相互鼓勵,比如當J2EE7引入了web prifile的模塊化,開發了jax的開發人員,并促進了更輕量級的企業應用程序。類似的,從Java8的JCP 335和JCP 310的日期和時間API,在spring中激發了新的增強。可無論是J2EE還是spring的支持者都傾向于認為它們是相互排斥的。

讓我們來看看在一個更平衡的環境中進行比較

JavaEE

JavaEE行業認可的標準API框架;它主要基于注釋和CDI;用于WEB開發的JFC MVC框架;用于進程數據庫操作的JPA實現;JTA API和實現;基于EJB容器和POJO的實現;Oracle許可證。

spring

基于ioc和aop;基于xml配置,目前使用的是注解;使用spring dao框架連接到數據庫,基于模板設計patter;提供抽象層以支持各種JTA實現供應商;與不同的Java廠商的不同支持不同的功能,這樣容易與struts2等集成;提供端到端平臺構建web應用程序,實現使用DI和AOP的松散耦合;開放源碼許可。

spring的實現重點與J2EE的標準化和可移植性

springsource社區與Java社區過程的主要區別在于其不同的動機。springsource的創新來自于解決現實世界問題的需要。解決方案以解決問題為導向,這樣下一個步驟和整個項目就可以盡可能快速和順利地實現。JCP有點像公司,創新和決策與解決方案如何導致標準技術規范相關聯。另外,像Oracle、IBM、RedHat
甚至SpringSource參與JCP。大多數Java規范請求都 需要很長的路徑才能實際實現。例如,jsr303:Bean驗證需要三年才能完成。也許在這個領域,速度并沒有那么重要,因為大多數大型企業項目不會經常發生變化,而且會有更長的生命周期。他們甚至可能不想要所有罪行的、但未經證實的技術。J2EE的另一個論點是可移植性。簡而言之,J2EE是一組規范,在你的應用程序中使用的東西可以被拉入你選擇的任何J2EE兼容的容器中,簡單地說,用一些常規 的方法來包裝業務邏輯 ,為CRUD操作 提供持久性,然后從14個J2EE供應商中選擇。理想情況下,你應該能夠在不同服務器之間移動代碼。這有時行得通,首先,現在只有三個供應商支持J2EE7,所以很多都變得無關緊要了。其次,有些實現是特定于供應商的,并且仍然需要時間和資源來讓項目在不同的環境中運行。當然,這取決于項目的復雜性,一個簡單的示例應用程序將從任何一個開始,但不是一個復雜的。另一方面,spring只支持VMWARE,它被認為是其他庫的包裝器,將他們耦合在一起,提供更容易的訪問和配置功能–如果你知道如何做到這一點的話。但是spring應用程序可以在一個成熟的J2EE服務器上運行,也可以在輕量級JSP容器中運行,比如Jetty,Tomcat,Netty,避免了巨大的開銷。spring甚至可以在獨立模式下有運行,因為spring引導模塊可以包裝Jetty或Tomcat。對J2EE與Spring的大多數比較測試都存在缺陷。只有良好的負載和壓力測試,以及持續的基準測試才能真正分析應用程序中的瓶頸。事實上,一個或另一個容器可能更適合于任何特定的情況。

學習曲線

當然,無論是spring還是J2EE,學習曲線都是陡峭的。然我們從地面開始,復雜性是感知、經驗、只是、情緒和勇氣的問題,這一切都不容易,但同樣的想法仍然存在于雙方–相反的技術是一個復雜的結,它會在你試圖解決某一特定任務的時候偷走你的時間。我發現spring是邏輯結構,而類名TransactionAwareConnectionFactoryProxyUserCredentialsConnectionFactoryAdapter看起來嚇人,他們描述的實現類沒有挖掘教程。另一方面,J2EE依賴于零散的規范,但是,通過了解應用程序的哪一部分需要理解,你可以在適當的指南中找到它,這兩個框架都有大量的例子和指南。最后,spring和J2EE建立在相同的原則之上,以提供Java web應用程序開發的工具,如果你了解基本的軟件模式和設計,你將能夠了解其中任何一個。

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的JavaSE、JavaEE与Spring的概念和异同点剖析的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。