work hard work smart

专注于Java后端开发。 不断总结,举一反三。
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Spring 介绍和Spring 5 源码环境搭建

Posted on 2021-03-06 18:36  work hard work smart  阅读(191)  评论(0编辑  收藏  举报

1、Bean的发展

Java Bean  -->  EJB  --> POJO

JavaBean是Applet Bean演变而来

EJB: Enterprise Java Beans (已经成为历史)

POJO: Plain Ordinary Java Object 简单的JavaBean

 

 

2、为什么要使用Spring (简化开发)

如果不用Spring,怎么开发项目: Servlet + Jsp

Spring 简化开发四个基本策略

1) 基于POJO的轻量级和最小侵入性编程

2) 通过依赖注入(DI)和面向接口松耦合

3) 基于切面(AOP)和惯性进行声明式编程

4) 通过切面 (AOP)和模板减少样板代码

DI和AOP依赖于IOC

 

3、Spring 5 模块结构图

Spring不仅是一个框架,已然成为一种生态。

Spring Framework 5 Runtime

 1) Spring的核心模块  Core Container

模块名称 主要功能
spring-core 依赖注入IOC和DI的基本实现
spring-beans Bean工厂与Bean的装配
spring-context 定义基础的Spring的Context上下文 即IOC容器
spring-context-support 对Spring IOC容器的扩展支持,以及IOC子容器
spring-context-indexer Spring的类管理组件和Classpath扫描
spring-expression Spring表达式语言

 

 

 

 

 

 

 

 

 

2) Spring之切面面层

模块名称 主要功能
spring-aop 面向切面编程的应用模块,整合Asm,CGLib,JDKProxy
spring-aspects 集成AspectJ(AOP应用框架)
spring-instrument 动态Class Loading模块

 

 

 

 

 

 

3) Spring之数据访问

模块名称 主要功能
spring-jdbc Spring提供的JDBC抽象框架的主要实现模块,用于简化JDBC操作
spring-tx Spring JDBC事务控制实现模块
spring-orm 主要集成Hibernate,Java Persistence API(JPA) 和Java Data Objects (JDO)
spring-oxm 将java对象映射成XML数据,或者将XML数据映射成java对象
spring-jms Java Message Service 能够发送和接收信息

 

 

 

 

 

 

 

 

4) Spring之Web组件

模块名称 主要功能
spring-web 提供了最基础的Web支持,主要建立于核心容器之上,通过Servlet或者Listeners来初始化IOC容器
spring-webmvc 实现了Spring MVC(model-view-Controller)的web应用。如Controller,RequestMapping等
spring-websocket 主要与Web前端实现的全双工通讯的协议
spring-webflux 一个新的非阻塞函数式Reactive Web框架,可以用来建立异步的,非阻塞,事件驱动的服务。
   

 

 

 

 

 

 

 

 

5) Spring 之通信报文

模块名称 主要功能
spring-message 从Spring4开始新加入的一个模块,主要职责是为Spring框架集成一些基础的报文传送应用。

 

 

 

 

6) Spring 之集成测试

模块名称 主要功能
spring-test 主要为测试提供支持

 

 

 

 

7) Spring 之集成兼容

模块名称 主要功能
spring-framework Bill of Materials。 解决Spring的不同模块依赖版本不同问题。

 

 

 

 

Spring各个模块的依赖关系

 

4、源码构建

1) 安装gradle

这里的版本为gradle4.0

 

 

2) 下载Spring源码

这里下载的版本是spring-framework-5.0.2.RELEASE

cd  D:\BaiduNetdiskDownload\Spring\spring-framework-5.0.2.RELEASE

执行 gradlew.bat

如下图所示,说明构建成功

 

 

3) 使用IDEA打开

开始导入工程,File->import project->选中spring-framework工程->import from external model->Gradle->finish经过一段时间项目导入成功

选择Import Project

 

 

选择Gradle

 

 

打开的路径如下图所示