Spring是什麼?web
一個高度靈活的輕量級框架,目的是下降企業級應用開發的複雜度。spring
http://springsource.org數據庫
Spring功能介紹編程
一、提供了Ioc機制,建立對象以及管理對象之間的調用關係,避免了硬編碼形成的程序耦合。也就是建立對象使用的是spring容器而不是使用new建立框架
二、提供了Aop(面向切面編程方式)功能,能夠實現不少特定功能。struts的攔截器實際上就是AOP的應用,spring提供了相似攔截器的功能。工具
三、聲明瞭事務控制處理。好比hibernate中事務管理手動編碼,須要本身使用transaction.commit()或者rollback();spring提供了聲明式的事務控制方式,不須要在程序之間提交事務,經過一些配置程序配置到指定的一些組件當中,一旦出現一些狀況,會自動進行事務的回滾或者提交測試
四、對JDBC的一些輕量級的封裝編碼
五、提供了MVC模式的解決方案SpringMVC目前跟struts55開了hibernate
六、提供了文件上傳、定時器等工具類對象
七、對於其餘優秀框架支持
Spring的功能模塊劃分
core container:
框架的核心,spring運行的基礎
Core和Beans:框架的基本部分,提供了IoC(反轉控制)和依賴注入特徵
Core和Beans模塊基礎之上,提供了一種相似於JSNI註冊的框架式的對象訪問方式。ApplicationContext接口是Context模塊的關鍵
Expression Language模塊:表達式語言
AOP&&Instrumentation模塊
AOP模塊提供了一個複合AOP聯盟標準的面向切面編程的實現
Aspects模塊提供了對AspectJ的繼承支持
Instructation模塊提供了class instrumentation支持和classloader實現
DataAccess模塊
JDBC模塊:提供了一個JDBC抽象層,簡化了訪問數據庫的方式
ORM模塊:爲一些流行的對象--關係映射框架提供了一個交互層
JMS模塊:JMS(Java Message Service)模塊主要包含了一些製造個消費的特這個辦法
Transaction模塊:該模塊支持編程和聲明式的事務管理
Web模塊
web模塊:提供了基礎的面向web的集成特徵,例如文件上傳。
Web-Servlet模塊:該模塊包含Spring的model-view-controller(MVC)實現。
Web-Struts模塊:該模塊提供了對Struts的支持
Web-Porlet模塊:提供了用於protlet環江和web-Servlet模式的支持
test模塊
Test模塊支持使用Jnit和TestNG對Spring組件進行測試