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框架结构_第1张图片
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

    spring框架结构_第2张图片
    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


    org.springframework
    spring-context
    xxxxxxxxx

如果是web工程只需配置


    org.springframework
    spring-webmvc
    xxxxxxxxx

参考:Spring Framework Reference Documentation

你可能感兴趣的:(spring框架结构)