IDEA构建Spring源码 Dear 丶 2022-02-21 13:51 234阅读 0赞 ## IDEA构建Spring源码 ## ## 下载源代码: ## 首先我们先去官网下载spring源代码,官网地址:[spring官网地址](https://spring.io/) 然后找到spring源代码进行下载,如图: ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3poYW5fbGFuZw_size_16_color_FFFFFF_t_70] 进入spring frameword主页后,点击右上角github按钮,跳转后即可选择对应的版本进行下载。 注:spring4.0之后将采用gradle构建,如果下载的版本大于4.0,则先下载gradle并配置环境变量, 建议先下载spring源代码,源代码根路径有个build.gradle 文件,打开后查找 ‘gradleVersion’ ,gradleVersion 所对应值就是要求gradle所对应的版本号。 ## 安装gradle步骤: ## 1. gradle地址:[https://gradle.org/][https_gradle.org] 2. 下载后进行解压,并配置环境变量(GRADLE\_HOME指向目录为根目录,然后path添加%GRADLE\_HOME%\\bin,也可直接在path配置gradle ) 3. 完成后,cmd窗口输入gradle -v 验证,如果出现版本信息则代表安装成功。 ## 构建源代码: ## 1. cmd进入到项目根目录, 2. 运行gradlew.bat文件(输入gradlew.bat直接回车) 3. 等待构建完成 4. 构建结果![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3poYW5fbGFuZw_size_16_color_FFFFFF_t_70 1] 打开idea搜索ApplicationContext,ctrl+alt+shift+u 如果能查看类图,则代表spring源代码构建成功。 ## 扩展: ## 1. spring源代码各个模块作用 2. spring版本命名规则 **spring源代码各个模块作用** 核心模块: * spring-core:核心模块 依赖注入IOC和DI的最基本实现 * spring-beans:Bean工厂与装配 * spring-context:上下文,即IOC容器 * spring-context-support:对IOC的扩展,以及IOC子容器 * spring-context-indexer:类管理组件和Classpath扫描 * spring-expression:表达式语句 切面编程: * spring-aop:面向切面编程,CGLB,JDKProxy * spring-aspects:集成AspectJ,Aop应用框架 * spring-instrument:动态Class Loading模块 数据访问与集成: * spring-jdbc:提供JDBC主要实现模块,用于简化JDBC操作 * spring-tx:spring-jdbc事务管理 * spring-orm:主要集成Hibernate,jpa,jdo等 * spring-oxm:将java对象映射成xml数据或将xml映射为java对象 * spring-jms:发送和接受消息 web组件: * spring-web:提供了最基础的web支持,主要建立在核心容器上 * spring-webmvc:实现了spring mvc的web应用 * spring-websocket:主要与前端页的全双工通讯协议 * spring-webflux:一个新的非阻塞函数式Reactive Web框架 报文 * spring-messaging:4.0加入的模块,主要集成基础报文传送应用 测试: * spring-test:测试组件 集成兼容: * spring-framework-bom:解决不同模块依赖版本不同问题 **spring版本命名规则** 常用软件版本规则: 一般采用:x.y.z格式命名 * xyz为非负数 y为偶数代表稳定版本,反之代表开发版本 * x:主版本号(api的兼容性发生变化,比如修改方法参数) * y:次版本号 (增加功能,不影响原有api的兼容性) * z:修订号 (bug修复,不影响api的兼容性) 比如:当前版本为1.0.0 1. 修改方法参数,影响原有api的兼容性 版本号升级为:2.0.0 2. 新增方法,对原有api的兼容性不影响,版本号升级为:2.1.0 3. 修复bug,改变方法内部逻辑, 版本号升级为:2.1.1 spring版本命名规则: 1. Snapshot:快照版-不稳定,处于开发中版本 2. Release: 稳定版-功能相对稳定,可以对方开发但受时间限制 3. GA : 正式版-可广泛使用的稳定版 4. M:里程碑版-具有全新功能或是具有里程碑意义的版本 5. RC:终测版-即将作为正式版本 [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3poYW5fbGFuZw_size_16_color_FFFFFF_t_70]: /images/20220221/a9f7e5f34e704ce5b4a6047de749788c.png [https_gradle.org]: https://gradle.org/ [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3poYW5fbGFuZw_size_16_color_FFFFFF_t_70 1]: /images/20220221/99eabbab73034d38bfb3ae9b722a7a42.png
还没有评论,来说两句吧...