spring框架結構

Spring Framework包含了大約20個模塊,被分成一下Core Container, Data Access/Integration, Web, AOP (Aspect Oriented Programming), Instrumentation, Messaging和Test這6個部分,每個模塊都有一個jar包,instrumentation模塊有兩個jar,圖中還缺少spring-context-support模塊。

spring-overview
  1. Core Container
    核心部分包含:spring-core,spring-beans,spring-context,spring-context-support,spring-expression (Spring Expression Language) 模塊。

    • spring-core:Spring框架基本的核心工具類,提供了IoC和DI最基本實現
    • spring-beans:Bean工廠與bean的裝配,配置文件訪問等
    • spring-context:spring的context上下文即IoC容器
    • spring-expression:spring表達式支持
      表達式語言 Spring Expression Language
    • spring-context-support:spring額外支持包,如郵件服務、視圖解析等

    依賴關系:可以在maven倉庫查詢依賴關系http://mvnrepository.com

    Core Container

  2. AOP and Instrumentation
    模塊包含:spring-aop,spring-aspects,spring-instrument,spring-instrument-tomcat

    • spring-aop:面向切面編程
    • spring-aspects:集成AspectJ
    • spring-instrument:向服務器提供類級的工具支持和classloader的實現
    • spring-instrument-tomcat:針對tomcat的instrument實現

    依賴關系:Spring Aspects,spring-aop

  1. Messaging
    模塊包含:spring-messaging
    從spring4開始的模塊

    • spring-messaging:用于構建基于消息的應用程序
      依賴關系: Spring Messaging
  2. Data Access/Integration
    模塊包含:spring-jdbc,spring-tx,spring-orm,spring-oxm,spring-jms,spring-messaging

    • spring-jdbc:jdbc支持
    • spring-tx:事務控制
    • spring-orm:對象關系映射API,集成JPA,JDO,Hibernate等orm框架
    • spring-oxm:對象XML映射
    • spring-jms:java消息服務,從spring4.1開始jms集成了spring-messaging
  3. Web
    模塊包含:spring-web,spring-webmvc,spring-websocket,spring-webmvc-portlet

    • spring-web:基礎的web功能,包括文件上傳等
    • spring-webmvc:mvc實現
    • spring-websocket:spring4開始,為web應用提供的高效通信工具
    • spring-webmvc-portlet:基于portlet的mvc實現
  4. Test
    模塊包含:spring-test

    • spring-test:spring測試,提供junit與mock測試功能

使用spring

spring所有的groupId都是org.springframework,只是artifactId不同

根據spring的依賴關系,普通的java工程中需要引用一個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>

參考:Spring Framework Reference Documentation

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容