Spring5.1源码编译详解

关于编译源码,作者有以下几点感悟:

1、第一次编译是一件很痛苦的事情,会有很多报错,而且每个人遇到的都不一样,所以耐心是关键

2、环境最好和笔者保持一致,不然可能出现以下莫名的错误

3、多看看报错内容,根据报错重新编译对应的包,或者修改环境配置等杂七杂八的东西

4、尽量不要用eclipse编译源码,主要是eclipse需要安装一堆插件,漫长的安装插件是一件极其痛苦的事情

编译环境:

IDEA 2019.2.4            jdk11.7            gradle5.6.3

环境安装搭建略过

1、下载spring源码包:https://github.com/spring-projects/spring-framework/tree/5.1.x

自己选择下载,可以使用git 或者 zip方式下载

gradlew.bat :spring-oxm:compileTestJava

gradlew.bat :spring-core:compileTestJava

打开idea配置相关环境

 选择一个以前项目目录打开

 

 选择gradle项目 finish,修改file>project structure 看看版本是否一致

然后开始漫长的等待吧,等待编译完成,build success 之后 需要编译 2个jar包

 

 运行完成之后,可以编写自己的测试类了

 

 编写自己的测试类,我的测试类如下

package com.hao;

import org.springframework.context.annotation.ComponentScan;
import org.springframework.stereotype.Component;

@Component
@ComponentScan("com.hao")
public class AppConfig {
}
package com.hao;

import org.springframework.stereotype.Service;

@Service
public class AppService {
}
package com.hao;

import org.springframework.context.annotation.AnnotationConfigApplicationContext;

public class AppTest {
    public static void main(String[] args) {
        AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(AppConfig.class);
        System.out.println(context.getBean(AppService.class));
    }
}

关于gradle依赖加入spring-context即可

 执行 结果如下:

至此源码编译完成

原文地址:https://www.cnblogs.com/zhanh247/p/12786146.html