Spring框架是一款專業(yè)的編程工具,是為解決應(yīng)用開發(fā)的復(fù)雜性而設(shè)計(jì)的,適合任何java應(yīng)用,主要的功能就是使用基本的JavaBean代替EJB,并提供了更多的企業(yè)應(yīng)用功能。軟件的用途不僅僅限于服務(wù)器端的開發(fā),需要的可以下載。
Spring功能:
支持 Java SE 8 / OpenJDK 8
首次支持 JMS 2.0, JPA 2.1, Bean Validation 1.1, and JSR-236 concurrency
廣義條件bean定義的機(jī)制(@Conditional , @Profile)
Spring's WebSocket endpoint 模型
在 Java 8 支持方面包括:
組件掃描和子類生成時(shí)支持 1.8 字節(jié)碼格式
lambda 表達(dá)式和方法引用 通過 Spring Callback 接口
JSR-310 Date-Time 用于 Spring 數(shù)據(jù)綁定和格式
初始支持 JDK 8 的 parameter name discovery 機(jī)制
Spring關(guān)鍵特性:
強(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ù)的劃分使之與底層無關(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í),你無需再寫出另一個(gè) '終止' (finally) 模塊. 并且面向JDBC的異常與Spring 通用數(shù)據(jù)訪問對(duì)象 (Data Access Object) 異常等級(jí)相一致.
以資源容器,DAO 實(shí)現(xiàn)和事務(wù)策略等形式與 Hibernate,JDO 和 iBATIS SQL Maps 集成。利用眾多的翻轉(zhuǎn)控制方便特性來全面支持, 解決了許多典型的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ù)的面向方面編程框架。
在設(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)。