Spring5结构梳理

what:轻量级Java应用(SE/EE)开发框架,简化企业级应用的开发

how:基于POJO的轻量级和最小侵入式编程 / 通过依赖注入和面向接口松耦合 / 基于切面和惯性进行声明式编程 / 通过切面和模板减少重复代码

todo:BOP + DI + AOP 来实现

Spring5结构梳理_第1张图片

spring集成 --> 6+1

1. 核心容器(Core Container)

核心模块(Spring-beans+Spring-core) --> IOC + DI
BeanFactory--
设计思想:核心接口--工厂模式--程序配置及依赖规范与代码分离;
功能实效:该容器在bean使用时进行实例化与依赖关系装配;
Spring-context-->架构与核心模块上,扩展了BeanFactory-->bean生命周期控制、框架事件体系、资源加载透明化、企业级支持(邮件,远程,任务调度等)
ApplicationContext--核心接口--BeanFactory超类
功能:该容器实例化后,自动对单例bean进行实例化与依赖关系装配,处于待用状态;
Spring-expression--统一表达式语言(EL)得到扩展

2. AOP&设备支持

Spring-aop--AOP的主要实现模块,以JVM的动态代为基础,实现面向切面编程
Spring-AspectJ--为AOP提供多种AOP实现方法
Spring-instrument--AOP的一个支援模块,在JVM启动时,生成一个动态代理,动态修改类的字节,实现功能增强

3. 数据访问及集成

Spring-jdbc--jdbc抽象框架的主要实现模块(JDBC模板方法/关系数据库对象化方式/SimpleJDBC/事务管理等),简化JDBC
Spring-transaction--事物模块,通过AOP,灵活配置;
Spring-orm--ORM框架集成模块(Hibernate/Java Persistence AOP/Java Data Objects),资源管理,事物策略
Spring-oxm--Object to XML mapping

4. Web
Spring-web--建立于核心容器上的web基础模块,通过servlet或者listener初始化IOC容器
Spring-mvc--MVC模式的web-servlet模块
Spring-websocket--socket通信
Spring-webflux--新的非阻塞式的函数式Reactive Web框架,建立异步非阻塞式的事件驱动;

5. 报文发送

Spring-messaging--spring4新增的,为spring集成一些报文发送的基础应用

6.测试

集成的测试模块,可以在无需发布应用程序的情况下提供测试











你可能感兴趣的:(java框架之Spring,java基础)