• 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即可

     执行 结果如下:

    至此源码编译完成

  • 相关阅读:
    nginx正则配置解释和fastadmin
    Centos7中systemctl命令详解
    layer的iframe层的传参和回参
    centOS下jenkins
    centos下nginx安装和配置
    python文件目录练习题【一】
    python正则模块re使用案例
    python字符串常用方法
    Swoole的多进程模块
    swoole学习
  • 原文地址:https://www.cnblogs.com/zhanh247/p/12786146.html
Copyright © 2020-2023  润新知