2 回答

TA貢獻1827條經(jīng)驗 獲得超9個贊
1、ioc,實現(xiàn)java bean的低耦合性,便于java code 的重用;
2、aop使用簡便;
3、實現(xiàn)restful的mvc,便于web開發(fā);
4、大量的注解pojo,簡化了xml配置;
5、database的dao模板類,兼容多種數(shù)據(jù)庫,而且底層只需要更換jdbc driver,datasource聲明好驅(qū)動,jdbctemplate就可以訪問數(shù)據(jù)庫了;
6、spring官網(wǎng)有很多解決方案可以使用(安全,數(shù)據(jù)訪問,頁面流,android)
總之spring很好的實現(xiàn)了系統(tǒng)的低耦合高聚合,便于代碼的重用,而且面向接口的編程可以讓api的訪問不用知道底層的實現(xiàn)(如jdbctemplate,它并不知道是訪問什么類型的數(shù)據(jù)庫,只是配置上的差異,這樣以后想從mysql換到oracle只需要換下驅(qū)動就好了,dao代碼都不用改)

TA貢獻1862條經(jīng)驗 獲得超6個贊
1.方便解耦,簡化開發(fā)
通過Spring提供的IoC容器,我們可以將對象之間的依賴關(guān)系交由Spring進行控制,避免硬編碼所造成的過度程序耦合。有了Spring,用戶不必再為單實例模式類、屬性文件解析等這些很底層的需求編寫代碼,可以更專注于上層的應(yīng)用。
2.AOP編程的支持
通過Spring提供的AOP功能,方便進行面向切面的編程,許多不容易用傳統(tǒng)OOP實現(xiàn)的功能可以通過AOP輕松應(yīng)付。
3.聲明式事務(wù)的支持
在Spring中,我們可以從單調(diào)煩悶的事務(wù)管理代碼中解脫出來,通過聲明式方式靈活地進行事務(wù)的管理,提高開發(fā)效率和質(zhì)量。
4.方便程序的測試
可以用非容器依賴的編程方式進行幾乎所有的測試工作,在Spring里,測試不再是昂貴的操作,而是隨手可做的事情。例如:Spring對Junit4支持,可以通過注解方便的測試Spring程序。
5.方便集成各種優(yōu)秀框架
Spring不排斥各種優(yōu)秀的開源框架,相反,Spring可以降低各種框架的使用難度,Spring提供了對各種優(yōu)秀框架(如Struts,Hibernate、Hessian、Quartz)等的直接支持。
6.降低Java EE API的使用難度
Spring對很多難用的Java EE API(如JDBC,JavaMail,遠程調(diào)用等)提供了一個薄薄的封裝層,通過Spring的簡易封裝,這些Java EE API的使用難度大為降低。
7.Java 源碼是經(jīng)典學(xué)習(xí)范例
Spring的源碼設(shè)計精妙、結(jié)構(gòu)清晰、匠心獨用,處處體現(xiàn)著大師對Java設(shè)計模式靈活運用以及對Java技術(shù)的高深造詣。Spring框架源碼無疑是Java技術(shù)的最佳實踐范例。如果想在短時間內(nèi)迅速提高自己的Java技術(shù)水平和應(yīng)用開發(fā)水平,學(xué)習(xí)和研究Spring源碼將會使你收到意想不到的效果。
添加回答
舉報