Jfinal 框架與 Spring 的差異?
JFinal是基於Java語言的極速web開發框架,其核心設計目標是開發迅速、程式碼量少、易擴展等;Spring框架是由於軟體開發的複雜性而創建的,其用途不僅限於伺服器端的開發。
Spring 模組
核心容器
這是Spring框架最基礎的部分,它提供了依賴注入(DependencyInjection)特徵來實現容器對Bean的管理。這裡最基本的概念是BeanFactory,它是任何Spring應用的核心。 BeanFactory是工廠模式的實現,它使用IoC將應用程式配置和依賴說明從實際的應用程式碼中分離出來。
應用上下文(Context)模組
核心模組的BeanFactory使Spring成為一個容器,而上下文模組使它成為一個框架。這個模組擴展了BeanFactory的概念,增加了對國際化(I18N)訊息、事件傳播以及驗證的支援。
另外,這個模組提供了許多企業服務,例如電子郵件、JNDI存取、EJB整合、遠端以及時序調度(scheduling)服務。也包括了對模版框架例如Velocity和FreeMarker整合的支援。
Spring的AOP模組
Spring在它的AOP模組中提供了對面向切面程式設計的豐富支援。這個模組是在Spring應用中實現切面編程的基礎。為了確保Spring與其它AOP框架的互用性,Spring的AOP支援基於AOP聯盟定義的API。 AOP聯盟是一個開源項目,它的目標是透過定義一組共同的介面和元件來促進AOP的使用以及不同的AOP實現之間的互用性。透過造訪他們的站點,你可以找到關於AOP聯盟的更多內容。
Spring的AOP模組也將元資料編程引入了Spring。使用Spring的元資料支持,你可以為你的原始碼增加註釋,指示Spring在何處以及如何應用切面函數。
JDBC抽象化和DAO模組
使用JDBC經常導致大量的重複程式碼,取得連線、建立語句、處理結果集,然後關閉連線。 Spring的JDBC和DAO模組抽取了這些重複程式碼,因此你可以保持你的資料庫存取程式碼乾淨簡潔,並且可以防止因關閉資料庫資源失敗而引起的問題。
這個模組也在幾種資料庫伺服器給予的錯誤訊息之上建立了一個有意義的異常層。使你不用再試圖破解神秘的私有的SQL錯誤訊息!
另外,這個模組也使用了Spring的AOP模組為Spring應用中的物件提供了事務管理服務。
物件/關聯映射整合模組
對那些更喜歡使用物件/關聯映射工具而不是直接使用JDBC的人,Spring提供了ORM模組。 Spring並不試圖實現它自己的ORM解決方案,而是為幾種流行的ORM框架提供了整合方案,包括Hibernate、JDO和iBATIS SQL映射。 Spring的事務管理支援這些ORM框架中的每一個也包括JDBC。
Spring的Web模組
Web上下文模組建立於應用上下文模組之上,提供了一個適合於Web應用的上下文。另外,這個模組也提供了一些面向服務支援。例如:實作檔案上傳的multipart請求,它也提供了Spring和其它Web框架的集成,例如Struts、WebWork。
Spring的MVC框架
Spring為建構Web應用提供了一個功能全面的MVC框架。雖然Spring可以很容易地與其它MVC框架集成,例如Struts,但Spring的MVC框架使用IoC對控制邏輯和業務對象提供了完全的分離。
它也允許你聲明性地將請求參數綁定到你的業務對像中,此外,Spring的MVC框架還可以利用Spring的任何其它服務,例如國際化信息與驗證。
推薦教學:《Java教學》
以上是Jfinal 框架與 Spring 的差別?的詳細內容。更多資訊請關注PHP中文網其他相關文章!