Spring Framework包含了大約20個(gè)模塊蹭睡,被分成一下Core Container, Data Access/Integration, Web, AOP (Aspect Oriented Programming), Instrumentation, Messaging和Test這6個(gè)部分,每個(gè)模塊都有一個(gè)jar包,instrumentation模塊有兩個(gè)jar吮炕,圖中還缺少spring-context-support模塊不傅。
-
Core Container
核心部分包含:spring-core低淡,spring-beans,spring-context莽龟,spring-context-support,spring-expression (Spring Expression Language) 模塊锨天。- spring-core:Spring框架基本的核心工具類轧房,提供了IoC和DI最基本實(shí)現(xiàn)
- spring-beans:Bean工廠與bean的裝配,配置文件訪問(wèn)等
- spring-context:spring的context上下文即IoC容器
- spring-expression:spring表達(dá)式支持
表達(dá)式語(yǔ)言 Spring Expression Language - spring-context-support:spring額外支持包绍绘,如郵件服務(wù)奶镶、視圖解析等
依賴關(guān)系:可以在maven倉(cāng)庫(kù)查詢依賴關(guān)系http://mvnrepository.com
-
AOP and Instrumentation
模塊包含:spring-aop,spring-aspects陪拘,spring-instrument厂镇,spring-instrument-tomcat- spring-aop:面向切面編程
- spring-aspects:集成AspectJ
- spring-instrument:向服務(wù)器提供類級(jí)的工具支持和classloader的實(shí)現(xiàn)
- spring-instrument-tomcat:針對(duì)tomcat的instrument實(shí)現(xiàn)
依賴關(guān)系:Spring Aspects,spring-aop
-
Messaging
模塊包含:spring-messaging
從spring4開(kāi)始的模塊- spring-messaging:用于構(gòu)建基于消息的應(yīng)用程序
依賴關(guān)系: Spring Messaging
- spring-messaging:用于構(gòu)建基于消息的應(yīng)用程序
-
Data Access/Integration
模塊包含:spring-jdbc左刽,spring-tx捺信,spring-orm,spring-oxm欠痴,spring-jms迄靠,spring-messaging- spring-jdbc:jdbc支持
- spring-tx:事務(wù)控制
- spring-orm:對(duì)象關(guān)系映射API,集成JPA喇辽,JDO掌挚,Hibernate等orm框架
- spring-oxm:對(duì)象XML映射
- spring-jms:java消息服務(wù),從spring4.1開(kāi)始jms集成了spring-messaging
-
Web
模塊包含:spring-web菩咨,spring-webmvc吠式,spring-websocket,spring-webmvc-portlet- spring-web:基礎(chǔ)的web功能抽米,包括文件上傳等
- spring-webmvc:mvc實(shí)現(xiàn)
- spring-websocket:spring4開(kāi)始特占,為web應(yīng)用提供的高效通信工具
- spring-webmvc-portlet:基于portlet的mvc實(shí)現(xiàn)
-
Test
模塊包含:spring-test- spring-test:spring測(cè)試,提供junit與mock測(cè)試功能
使用spring
spring所有的groupId都是
org.springframework
云茸,只是artifactId不同
根據(jù)spring的依賴關(guān)系是目,普通的java工程中需要引用一個(gè)dependency
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>xxxxxxxxx</version>
</dependency>
如果是web工程只需配置
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>xxxxxxxxx</version>
</dependency>