• Spring 源码编译


    Spring 源码编译,一定要选好版本!!!
    Spring 源码编译,一定要选好版本!!!
    Spring 源码编译,一定要选好版本!!!
    重要的事说三遍。

    Spring 版本:5.3.1
    JDK 版本:17
    Gradle 版本:gradle-7.6
    IDEA 版本:2022.2(IDEA 版本不要太低,有的·文章说会出问题)
    Kotlin 版本:1.7.21

    Spring github:https://github.com/spring-projects/spring-framework

    将项目导入到 IDEA 中,导入 Gradle 版本的,然后傻瓜式 Next 即可。

    IDEA 操作:File → New → New Project from Existing Sources,选中项目目录,然后选择导入 Gradle 版本。
    导入
    gradle
    进入 IDEA 的 plugins,搜索 Kotlin,下载插件,我下载的是 1.7 的。
    Kotlin
    将项目的 gradle.build 中的 maven 配置替换一下,将原有的注释掉,使用国内的阿里云镜像,下载依赖能快一点。

    		maven { url "https://maven.aliyun.com/nexus/content/groups/public/" }
    		mavenCentral()
    //		maven {
    //			url "https://repo.spring.io/milestone"
    //			content {
    //				// Netty 5 optional support
    //				includeGroup 'io.projectreactor.netty'
    //			}
    //		}
    		maven { url "https://repo.spring.io/libs-spring-framework-build" }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    此时项目会自动的进行 Build,去下载一堆的依赖。一般情况下,构建不会出现什么问题,如果出现 git 的原因导致报错,不会影响构建。

    构建成功后,在 Gradle 功能栏下,显示下图格式。
    构建成功
    spring → Tasks → other → 双击 compileTestjava 等待即可。

    此时可以保证项目已经构建完毕并且可以运行了。

    可以打开一些模块的测试类打断点试试了。但拘泥如此肯定不是程序员的做法啦。深入深入再深入,只在测试类上玩玩没意思。

    新建模块 spring-test-demo,在模块 bulid.gradle 中,搜索 dependcies 依赖配置。在开头加入 api(project(":spring-context")),一定要在开头加。
    dependencies
    构建模块,而后将自带的目录删除,换成你自己的目录。
    目录格式
    创建 Service 和 主类,运行即可。

    	@Service
    	public class FuckService {
    		public void sayHello() {
    			System.out.println("OK! Fuck your mother!");
    			System.out.println("┌∩┐ (ಠ_ಠ)┌∩┐");
    		}
    	}
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    	@Configuration
    	@ComponentScan("com.zouzou")
    	public class Main {
    		public static void main(String[] args) {
    			ApplicationContext context = new AnnotationConfigApplicationContext(Main.class);
    			FuckService bean = context.getBean(FuckService.class);
    			bean.sayHello();
    		}
    	}
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    运行结果如下:
    运行结果

  • 相关阅读:
    CommonsCollection6反序列化链学习
    Linux信号基础
    初识MySQL数据库
    java毕业生设计中文网络小说平台系统计算机源码+系统+mysql+调试部署+lw
    find命令
    Springboot-mybatis创建项目报错day01
    Go在安装Gin时出现Failed to connect 报错问题的解决方案(已解决)
    判断子序列[简单]
    热修复技术可谓是百花齐放
    控制台程序如何让用户输入密码 关闭回显
  • 原文地址:https://blog.csdn.net/qq_44157349/article/details/128168771