Spring模块及整体架构

spring模块

  • 1.核心容器Core Container

    • Core:spring提供的核心工具类

    • Bean:包含访问配置文件、创建和管理bean以及进行inversion of control / dependency injection操作所有类

      BeanFactory接口是Spring框架中的核心接口,是工厂模式的具体实现。Beanfactory使用控制反转对应用程序的设置和依赖性规范与实际的应用程序代码进行了分离。但Beanfactory容器实例化后不会自动化实例Bean,只有当Bean被使用时,Beanfactory才会对bean进行实例化与依赖关系的装配。

    • Context:构建于核心模块之上,扩展了Beanfactory,为spring添加了bean生命周期控制、框架时间体系、资源加载透明化等功能。

      ApplicationContext是该模块的核心接口,它的超类是Beanfactory。与Beanfactory不同,ApplicationContext容器实例化后会自动对所有单里bean进行实例化与依赖关系的装配,使之处于待用状态。

    • Spel:统一表达式语言,可以方便地调用对象方法、操作数组、集合等。

  • 2.AOP和设备支持

    • spring-aop:以jvm的动态代理技术为基础,设计出了一系列AOP横切实现,比如前置通知、返回通知、异常通知,同时通过pointcut接口来匹配切入点,可以使用现有的切入点来设计切面,也可以扩展相关方法根据需求进行切入。
    • spring-aspects:集成自AspectJ框架,主要是为SpringAOP提供多种AOP实现方法。
    • spring-instrument:作用是在jvm启用时,生成一个代理类,程序员通过代理类在运行时修改类的字节,从而改变一个类的功能,实现AOP的功能。
  • 3.数据访问与集成

    • spring-jdbc:java-database-connectivity:spring提供的jdbc抽象框架的主要实现模块,用于简化jdbc操作。主要提供模jdbc模版方式、关系数据库对象化方式、simplejdbc方式、事务管理来简化jdbc编程。
    • spring-tx:spring-jdbc的事务控制实现模块,对事物做了很好的封装。
    • spring-orm:object-relational-mapping,是ORM框架支持模块,主要集成Hibernate,java persistence API和java data object用于资源管理、数据访问对象(DAO)和事物策略。如jpa、jdo、hibernate、ibatis提供了一个交互层,利用orm封装包,可以混合使用spring提供的特性进行O/R映射,如前面提到的声明式事务。
    • spring-oxm:对象和xml文件的映射,可以将对象转化为xmlp文件,反之亦可
    • spring-jms:接收和发送消息,对spring-messaging模块提供支持
  • 4.web组件

    • spring-web:为spring提供了最基础的web支持,主要建于核心容器之上,通过Servlet或者listenter来初始化IOC容器,也包含一些与web相关的支持。
    • spring-webmvc:web-servelt模块,实现了springMVC的web应用
    • spring-websocket:与前端的全双工通讯的协议
    • spring-webflux:非阻塞函数式Reactive web框架,可以用来建立异步的、非阻塞、事件驱动的服务。
  • 5.集成测试

    为测试提供支持

spring的版本管理

  • 版本号, X.Y.Z

    • X:主版本号,API的兼容性发生变化时递增
    • Y:次版本号,功能增加时(兼容性不变)Y增加
    • Z:修订号,bug修复时,Z需要递增
  • 版本描述

    描述 说明 含义
    Snapshot 快照班 测试版本
    Release 稳定版 功能相对稳定,对外发行
    GA 正式版 general availability,广泛可用的版本
    M 里程碑版 Milestone,有一些全新功能或具有里程碑意义的版本
    RC 终测版 release candidate,即将作为正式版本发布

你可能感兴趣的:(Spring,java,spring,架构,java)