Spring是一個開源框架,它由Rod Johnson創(chuàng)建。它是為了解決企業(yè)應用開發(fā)的復雜性而創(chuàng)建的,是企業(yè)中經常使用的框架之一,那spring框架的優(yōu)點有哪些?下面來我們就來給大家講解一下。
1、非侵入式設計
Spring是一種非侵入式(non-invasive)框架,它可以使應用程序代碼對框架的依賴最小化。
2、方便解耦、簡化開發(fā)
Spring就是一個大工廠,可以將所有對象的創(chuàng)建和依賴關系的維護工作都交給Spring容器的管理,大大的降低了組件之間的耦合性。
3、支持AOP
Spring提供了對AOP的支持,它允許將一些通用任務,如安全、事物、日志等進行集中式處理,從而提高了程序的復用性。
4、支持聲明式事務處理
只需要通過配置就可以完成對事物的管理,而無須手動編程。
5、方便程序的測試
Spring提供了對Junit4的支持,可以通過注解方便的測試Spring程序。
6、方便集成各種優(yōu)秀框架
Spring不排斥各種優(yōu)秀的開源框架,其內部提供了對各種優(yōu)秀框架(如Struts、Hibernate、MyBatis、Quartz等)的直接支持。
7、降低Jave EE API的使用難度。
spring有哪些模塊?
Spring對java EE開發(fā)中非常難用的一些API(如JDBC、JavaMail等),都提供了封裝,使這些API應用難度大大降低。
1.核心模塊
SpringCore模塊是Spring的核心容器,它實現(xiàn)了IOC模式,提供了Spring框架的基礎功能。此模塊中包含的BeanFactory類是Spring的核心類,負責JavaBean的配置與管理。它采用Factory模式實現(xiàn)了IOC即依賴注入。談到JavaBean,它是一種Java類,它遵從一定的設計模式,使它們易于和其他開發(fā)工具和組件一起使用。定義JavaBean是一種JAVA語言寫成的可重用組件。要編寫JavaBean,類必須是具體類和公共類,并且具有無參數(shù)的構造器。
2.Context模塊
SpringContext模塊繼承BeanFactory(或者說Spring核心)類,并且添加了事件處理、國際化、資源裝載、透明裝載、以及數(shù)據(jù)校驗等功能。它還提供了框架式的Bean的訪問方式和很多企業(yè)級的功能,如JNDI訪問、支持EJB、遠程調用、集成模板框架、Email和定時任務調度等。
3.AOP模塊
Spring集成了所有AOP功能。通過事務管理可以使任意Spring管理的對象AOP化。Spring提供了用標準Java語言編寫的AOP框架,它的大部分內容都是基于AOP聯(lián)盟的API開發(fā)的。它使應用程序拋開EJB的復雜性,但擁有傳統(tǒng)EJB的關鍵功能。
4.DAO模塊
DAO是DataAccessObject的縮寫,DAO模式思想是將業(yè)務邏輯代碼與數(shù)據(jù)庫交互代碼分離,降低兩者耦合。通過DAO模式可以使結構變得更為清晰,代碼更為簡潔。DAO模塊提供了JDBC的抽象層,簡化了數(shù)據(jù)庫廠商的異常錯誤(不再從SQLException繼承大批代碼),大幅度減少代碼的編寫,并且提供了對聲明式事務和編程式事務的支持。
5.ORM映射模塊
SpringORM模塊提供了對現(xiàn)有ORM框架的支持,各種流行的ORM框架已經做得非常成熟,并且擁有大規(guī)模的市場,Spring沒有必要開發(fā)新的ORM工具,它對Hibernate提供了完美的整合功能,同時也支持其他ORM工具。注意這里Spring是提供各類的接口(support),目前比較流行的下層數(shù)據(jù)庫封閉映射框架,如ibatis,Hibernate等。
6.Web模塊
此模塊建立在SpringContext基礎之上,它提供了Servlet監(jiān)聽器的Context和Web應用的上下文。對現(xiàn)有的Web框架,如JSF、Tapestry、Structs等,提供了集成。Structs是建立在MVC這種公認的好的模式上的,Struts在M、V和C上都有涉及,但它主要是提供一個好的控制器和一套定制的標簽庫上,也就是說它的著力點在C和V上,因此,它天生就有MVC所帶來的一系列優(yōu)點,如:結構層次分明,高可重用性,增加了程序的健壯性和可伸縮性,便于開發(fā)與設計分工,提供集中統(tǒng)一的權限控制、校驗、國際化、日志等等。
7.MVC模塊
pringWebMVC模塊建立在Spring核心功能之上,這使它能擁有Spring框架的所有特性,能夠適應多種多視圖、模板技術、國際化和驗證服務,實現(xiàn)控制邏輯和業(yè)務邏輯的清晰分離。說說MVC在JSP的作用,這里引入了“控制器”這個概念,控制器一般由Servlet來擔任,客戶端的請求不再直接送給一個處理業(yè)務邏輯的JSP頁面,而是送給這個控制器,再由控制器根據(jù)具體的請求調用不同的事務邏輯,并將處理結果返回到合適的頁面。
因此,這個Servlet控制器為應用程序提供了一個進行前-后端處理的中樞。一方面為輸入數(shù)據(jù)的驗證、身份認證、日志及實現(xiàn)國際化編程提供了一個合適的切入點;另一方面也提供了將業(yè)務邏輯從JSP文件剝離的可能。業(yè)務邏輯從JSP頁面分離后,JSP文件蛻變成一個單純完成顯示任務的東西,這就是常說的View。而獨立出來的事務邏輯變成人們常說的Model,再加上控制器Control本身,就構成了MVC模式。實踐證明,MVC模式為大型程序的開發(fā)及維護提供了巨大的便利。
Spring一共有以上這7大模塊,每一個模塊都有它自己獨特的功能,我們在使用java的時候,一定要熟悉這些模塊的功能,目的就是為了更好的使用Spring!最后大家如果想要了解更多java架構師知識,敬請關注賦能網(wǎng)。
本文鏈接:
本文章“pring框架的優(yōu)點有哪些?pring有哪些模塊?”已幫助 74 人
免責聲明:本信息由用戶發(fā)布,本站不承擔本信息引起的任何交易及知識產權侵權的法律責任!
本文由賦能網(wǎng) 整理發(fā)布。了解更多培訓機構》培訓課程》學習資訊》課程優(yōu)惠》課程開班》學校地址等機構信息,可以留下您的聯(lián)系方式,讓課程老師跟你詳細解答:
咨詢熱線:4008-569-579