Spring Framework是一個(gè)開源的java應(yīng)用框架,基于 Expert One-on-One Java EE Design and Development(ISBN 0-7645-4385-7)一書中的代碼,提供了一個(gè)簡(jiǎn)易的開發(fā)方式,這種開發(fā)方式,將避免那些可能致使底層代碼變得繁雜混亂的大量的屬性文件和幫助類。
基本簡(jiǎn)介
Spring Framework 是一個(gè)開源的Java/Java EE全功能棧(full-stack)的應(yīng)用程序框架,以Apache許可證形式發(fā)布,也有.NET平臺(tái)上的移植版本。該框架基于 Expert One-on-One Java EE Design and Development(ISBN 0-7645-4385-7)一書中的代碼,最初由 Rod Johnson 和 Juergen Hoeller等開發(fā)。Spring Framework提供了一個(gè)簡(jiǎn)易的開發(fā)方式,這種開發(fā)方式,將避免那些可能致使底層代碼變得繁雜混亂的大量的屬性文件和幫助類。 在設(shè)計(jì)應(yīng)用程序Model時(shí),MVC 模式(例如Struts)通常難于給出一個(gè)簡(jiǎn)潔明了的框架結(jié)構(gòu)。Spring卻具有能夠讓這部分工作變得簡(jiǎn)單的能力。程序開發(fā)員們可以使用Spring的 JDBC 抽象層重新設(shè)計(jì)那些復(fù)雜的框架結(jié)構(gòu)。
軟件特色
強(qiáng)大的基于 JavaBeans 的采用控制翻轉(zhuǎn)(Inversion of Control,IoC)原則的配置管理,使得應(yīng)用程序的組建更加快捷簡(jiǎn)易。 一個(gè)可用于從 applet 到 Java EE 等不同運(yùn)行環(huán)境的核心 Bean 工廠。 數(shù)據(jù)庫(kù)事務(wù)的一般化抽象層,允許宣告式(Declarative)事務(wù)管理器,簡(jiǎn)化事務(wù)的劃分使之與底層無(wú)關(guān)。 內(nèi)建的針對(duì) JTA 和 單個(gè) JDBC 數(shù)據(jù)源的一般化策略,使 Spring 的事務(wù)支持不要求 Java EE 環(huán)境,這與一般的 JTA 或者 EJB CMT 相反。 JDBC 抽象層提供了有針對(duì)性的異常等級(jí)(不再?gòu)腟QL異常中提取原始代碼), 簡(jiǎn)化了錯(cuò)誤處理, 大大減少了程序員的編碼量. 再次利用JDBC時(shí),你無(wú)需再寫出另一個(gè) '終止' (finally) 模塊. 并且面向JDBC的異常與Spring 通用數(shù)據(jù)訪問對(duì)象 (Data Access Object) 異常等級(jí)相一致. 以資源容器,DAO 實(shí)現(xiàn)和事務(wù)策略等形式與 Hibernate,JDO 和 iBATIS SQL Maps 集成。利用眾多的翻轉(zhuǎn)控制方便特性來(lái)全面支持, 解決了許多典型的Hibernate集成問題. 所有這些全部遵從Spring通用事務(wù)處理和通用數(shù)據(jù)訪問對(duì)象異常等級(jí)規(guī)范. 靈活的基于核心 Spring 功能的 MVC 網(wǎng)頁(yè)應(yīng)用程序框架。開發(fā)者通過策略接口將擁有對(duì)該框架的高度控制,因而該框架將適應(yīng)于多種呈現(xiàn)(View)技術(shù),例如 JSP,F(xiàn)reeMarker,Velocity,Tiles,iText 以及 POI。值得注意的是,Spring 中間層可以輕易地結(jié)合于任何基于 MVC 框架的網(wǎng)頁(yè)層,例如 Struts,WebWork,或 Tapestry。 提供諸如事務(wù)管理等服務(wù)的面向方面編程框架。
更新日志
Spring Framework 4.3.9 發(fā)布了,Spring Framework 為基于 Java 的企業(yè)應(yīng)用提供了一個(gè)全面的編程和配置模型。 此維護(hù)版本是即將發(fā)布的 Spring Boot 1.4.7 和 1.5.4 版本的基礎(chǔ),包括有超過30處修補(bǔ)程序和指定改進(jìn)。 部分更新內(nèi)容: Bug [SPR-15481] - AnnotationUtils.getValue() 隱藏相關(guān)錯(cuò)誤 [SPR-15485] - 最終的 Resource 檢查從 Tomcat war 創(chuàng)建:file: URL fails with FileNotFoundException [SPR-15487] - Spring Test ModelResultMatchers 欺騙性錯(cuò)誤消息 [SPR-15505] - AbstractFlashMapManager.isFlashMapForRequest 不會(huì)一致檢查轉(zhuǎn)發(fā)的請(qǐng)求 [SPR-15507] - Property.jav 無(wú)法拋出"Not a setter" 異常 提升 [SPR-15477] - 檢查潛在匹配時(shí)優(yōu)化 Optimize AntPathMatcher [SPR-15479] - 將 getTargetCache 添加到 TransactionAwareCacheDecorator