Spring源码环境构建
# 1. 自动化构建Gradle
引言:
从Sping5开始,官方就开始使用gradle来构建环境了
接下来,我们所有的环境都要基于gradle
# 1.1 什么是Gradle
Gradle是一个项目自动化构建工具。
是Apache的一个基于Ant 和Maven的软件,用于项目的依赖管理
项目的构建经历了三个时代:
Apache Ant(2000 年左右)
Maven(2004年)
Gradle(2012 年左右)
Spring(5.0开始) 等优秀的开源项目都将自己的项目从 Maven 迁移到了 Gradle
# 1.2 安装Gradle
Gradle下载地址:https://gradle.org/releases/
(注:需下载6.0以下版本,版本太高,会导致idea中编译时,部分spring组件无法下载)
- 解压:
环境变量配置
配置GRADLE_HOME:
配置Path:
- 执行 gradle -v 查看安装情况
- 在init.d文件夹下,创建init.gradle文件,编辑内容如下:(国内阿里云加速)
allprojects {
repositories {
//maven { url '~/.m2/repository'}
//mavenLocal()
maven { url 'https://maven.aliyun.com/repository/central'}
maven { url 'https://maven.aliyun.com/repository/jcenter'}
maven { url 'https://maven.aliyun.com/repository/public'}
maven { url 'https://maven.aliyun.com/repository/google'}
maven { url 'https://maven.aliyun.com/repository/gradle-plugin'}
maven { url 'https://maven.aliyun.com/repository/grails-core'}
maven { url 'https://maven.aliyun.com/repository/spring'}
maven { url 'https://maven.aliyun.com/repository/spring-plugin'}
maven { url 'https://maven.aliyun.com/repository/apache-snapshots'}
mavenCentral()
}
}
# 2. 下载Spring源码
# 2.1 下载
下载地址(码云):https://gitee.com/mirrors/Spring-Framework
(GitHub): https://github.com/spring-projects/spring-framework
注意:对于源码要进行 git clone 拉取(如果直接下载zip,会报如下错误)
# 2.2 源码环境编译
进入bin目录下,执行 gradlew.bat(建议命令行中执行)
# 3 源码导入IDEA
使用import Project ( idea 2018)
直接open project (idea 2020)
漫长的等待.....
(注意:手动配置JDK及gradle)
构建完成后,模块会出现蓝色小点
# 3. 构建源码测试模块
# 3.1 创建新Module
# 3.2 添加依赖
打开 build.gradle
dependencies {
compile(project(':spring-context')) // 添加spring-context依赖
compile(project(':spring-aop')) // 添加spring-aop依赖
testCompile group: 'junit', name: 'junit', version: '4.12'
}
# 3.3 编写测试代码
- 编写TestBean
@Component
public class TestBean {
public void print(){
System.err.println("testBean method...");
System.err.println("spring源码环境构建完成...");
}
}
- 创建applicationContext.xml,配置TestBean
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="testBean" class="com.itheima.config.TestBean"/>
</beans>
- 编写测试类IOCTest
public class IOCTest {
public static void main(String[] args) {
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("classpath:applicationContext.xml");
TestBean testBean = (TestBean) applicationContext.getBean("testBean");
testBean.print();
}
}
上次更新: 2023/09/08, 23:19:29