SpringBoot 源码之Idea导入终极版(基于Gradle)

2021/04/02 14:10
阅读数 441

 

Idea导入SpringBoot源码终极版

    • 一、导入Spring源码的准备
      • 1.1 Gradle的下载和配置
      • 1.2 IDEA集成Gradle
      • 1.3 下载SpringBoot源码
    • 二、导入及避坑
      • 2.1 导入源码
      • 2.2 避坑的地方
    • 三、增加测试模块试运行
      • 3.1 新建测试模块

 

一、导入Spring源码的准备

  • 本人工具及环境介绍
    Windows 10 + IDEA 2020.1 + JDK 11.0.9 + Gradle 6.5 + spring-boot 2.5.0-SNAPSHOT

1.1 Gradle的下载和配置

  • 官网地址
    https://gradle.org/releases/
  • 版本选择
    找到对应的版本,选择 binary-only
    在这里插入图片描述
  • 配置环境变量
    解压后,别放中文路径兄弟
    ① 新建系统变量 GRADLE_HOME
    在这里插入图片描述
    ② 新建仓库系统变量 GRADLE_USER_HOME
    在这里插入图片描述
    path 中添加 %GRADLE_HOME%\bin
    在这里插入图片描述
    ④ 检查是否配置成功
    gradle -v
    在这里插入图片描述

1.2 IDEA集成Gradle

  • 依次执行如下步骤
    Settings -> Build -> Gradle
    在这里插入图片描述

1.3 下载SpringBoot源码

  • 下载方式
    ① 下载源码 zip 包,然后导入,不建议
    ② 从 GitHub 上检出源码,不仅能及时更新代码,还有很清楚的代码更新记录,岂不是爽歪歪
    https://github.com/spring-projects/spring-boot
    在这里插入图片描述
    在这里插入图片描述

二、导入及避坑

2.1 导入源码

  • 源码包导入步骤(如果是通过代码检出的方式请忽略此步骤)
    ① 在 Idea 中依次 File -> Open
    ② 找到源码包文件夹,并选择 build.gradle
    在这里插入图片描述

2.2 避坑的地方

  • 为了防止build 的过程很慢,检查Idea的运行内存并调整
    ① 修改配置文件
    在这里插入图片描述
    ② 修改运行内存
    在这里插入图片描述
  • 依赖下载很慢的问题
    我下载的速度很慢,按照 网上说的调整了镜像似乎什么用都没有,每次出现下载失败的问题,直接重新 build 就好

三、增加测试模块试运行

3.1 新建测试模块

  • 新建测试模块
    ① 新建Gradle 模块
    在这里插入图片描述
    ② 配置 locatiionname
    在这里插入图片描述
  • 配置当前模块的 build.gradle
    在这里插入图片描述
plugins {
   
    id 'java'
}

group 'org.springframework.boot'
version '2.5.0-SNAPSHOT'

repositories {
   
    mavenCentral()
}

dependencies {
   
    annotationProcessor(project(":spring-boot-project:spring-boot-tools:spring-boot-configuration-processor"))
    implementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-web"))
    implementation(enforcedPlatform(project(":spring-boot-project:spring-boot-dependencies")))
    implementation(project(":spring-boot-project:spring-boot"))
    implementation("jakarta.validation:jakarta.validation-api")
}
  • 创建测试demo
    在这里插入图片描述
package org.springframework.debug;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.SpringBootConfiguration;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

/** * @author: yangbh29924 * @date: Dec 26, 2020 **/
@RestController
@EnableAutoConfiguration
@SpringBootConfiguration
public class DemoApplication {
   

	public static void main(String[] args) {
   
		SpringApplication.run(DemoApplication.class, args);
	}

	@GetMapping("/hello")
	public String hello(@RequestParam(value = "name", defaultValue = "World") String name) {
   
		return String.format("Hello %s!", name);
	}


}
  • 运行并测试
    在这里插入图片描述
    在这里插入图片描述
展开阅读全文
加载中

作者的其它热门文章

打赏
0
0 收藏
分享
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部