Spring的簡介
Spring是分層的JavaEE輕量級開源框架,以IOC(Inverse of Control控制反轉)和AOP(Aspect Oriented Programming 面向切面編程)爲核心。Spring框架主要是解決對象創建的問題!,使用基本的JavaBean來完成以前由EJB(Enterprise Java Beans)完成的工作,具有簡單、鬆耦合、可測試的特點。
Spring的優點
- Spring框架具有簡單、鬆耦合,簡化開發的特點。Spring就是一個大工廠,可以將所有對象創建和依賴關係維護,交給Spring管理。
- 支持AOP編程,Spring提供面向切面編程,可以方便的實現對程序進行權限攔截、運行監控等功能。 使用spring的aop編程會自動生成代理對象,不用自己去寫代理工廠類了!
- 支持聲明式事務,只需要通過配置就可以完成對事務的管理。事務代碼與業務代碼,完全解耦!寫代碼時候,不用寫事務代碼; 大大提高開發效率!
- 可測試,支持Junit4測試。可以通過註解方便的測試Spring程序。
- Spring框架可以跟其他框架在一起運行,進行無縫整合!其內部提供了對各種優秀框架(如:Struts、Hibernate、MyBatis、Quartz等)的直接支持。
- 降低JavaEE API的使用難度。Spring 對JavaEE開發中非常難用的一些API(JDBC、JavaMail、遠程調用等),都提供了封裝,使這些API應用難度大大降低。
Spring一些常用模塊功能
- Spring Core:Core Container(Spring核心容器)由Bean模塊、Core核心模塊、Context上下文模塊、Expression Language表達式語言模塊組成。
Bean模塊:提供了BeanFactory,Spring將管理對象稱爲 Bean,BeanFactory是工作模式的經典實現。
Core核心模塊:主要是IOC容器和DI(依賴注入)。
Context上下文模塊:ApplicationContext接口是上下文模塊的重點,作用是訪問定義和配置任何對象。
Expression Language表達式語言模塊:提供操作對象圖的強大的表達式語言. - Spring Web:包括web/Servlet/Struts/Portler組件
web模塊:提供多文件上傳功能、使用Servlet監聽器的IOC容器初始化、web應用上下文等功能。
Servlet模塊:SpringMVC實現web應用程序。
Struts模塊:提供與Struts框架的整合。
Portlet模塊:Portlet環境下使用MVC實現。 - Spring ORM:數據訪問/集成模塊,包括JDBC/ORM/OXM/Transactions模塊。
JDBC模塊:對jdbc開發支持。
ORM模塊:對對象關係的映射,對包括JPA/JDO/Hibernate/MyBatis提供支持。
OXM模塊:支持對象/xml映射實現
Transactions模塊:支持聲明式事務和編程式事務的管理。 - Spring AOP:面向切面編程模塊。提供了面向切面編程實現,允許定義方法攔截器和切入點,將代碼按照功能進行分離,大大降低代碼的耦合性。