spring-核心模块介绍

1,177 阅读2分钟

Spring Modular

spring-framework

  • IOC

    Spring-beans, Spring-Core模块是Spring-framework的核心modular。包括了Ioc和DI。BeanFactory使用Ioc对应用程序的配置和依赖性规范与实际的应用程序代码进行了分离。

    Spring-context,主要是扩展了BeanFactory,为其添加了

    • Bean life cycle

    • Events

    • Resources

    • i18n

    • Validation

    • Data Binding

    • Type Conversion

    • Spring Express Language

    • Remoting

    等功能。ApplicationContext是核心。

    Spring-context-support是对Spring-IOC容器的扩展支持。

    Spring-context-indexer是Spring的类管理组件和ClassPath扫描组件。

    Spring-expression是 EL(Spring Express Language)表达式的扩展模块。

  • Aop

    Spring-aop是Spring另一个核心模块,是aop主要的实现模块。

    Spring-aspects模块集成了AspectJ框架,主要是为了Spring提供多种Aop实现方式。

    Spring-instrument模块是基于java.lang.instrument进行设计的。主要作用是在jvm启动的时候生成一个proxy class。

  • Data Access

    spring-jdbc是spring提供的jdbc框架的主要实现模块,用于简化Jdbc的操作。JdbcTemplate,RowMapper。

    spring-tx是Spring提供的事务控制实现模块。Spring对事务做了很好的封装,通过aop配置。

    spring-orm是Spring提供的O/R Mapping实现模块,主要集成Hibernate, JPA,JDO,DAO Support的实现和事务策略。

    Spring-omx(XML Marshalling)模块主要是用来将java Bean映射成xml,或将xml映射成java bean。

    Spring-jms用于发送和接收消息。

  • web

    spring-web为spring提供了最基础的web支持,主要类:HttpRequestHandlerServlet,ContextLoaderListener,WebApplicationContext

    spring-webmvc,是Spring提供的三层架构模块,主要类:DispatcherServlet,HandlerAdapter,HandlerMapping,ViewResolver

    spring-websocket是与前端进行双向通信的协议。

    spring-webflux是函数式响应的web模块,基于reative事件驱动实现的。

  • other

    spring-messaging: 为spring框架集成一些基础的报文传送应用

    spring-test:unit test

  • Integration

    • Remoting
    • JMS(Java Message Service)
    • JCA(Java Connector Architecture)
    • JMX(Java Management Extensions)
    • Email
    • Tasks
    • Scheduling
    • Cache
    • Test
      • Mock Objects
      • TestContext Framework
      • Spring mvc Test
      • WebTestClient