一、IDEA 官网地址

 

https://www.jetbrains.com/idea/

 

 

说明:为什么要升级IDEA呢,因为在Spring源码中run(编译)的时候,提示kotlin编译不通过,程序无非运行,解决办法就是把IDEA 2018版本提升到2019.x.x.x,既然升级,索性一步到位,直接来2020.1.1

 


 

二、Mac版下载地址

 

https://codeload.github.com/kobeyk/spring-framework/zip/5.0.x

 


 

三、XX说明文件下载地址

百度网盘链接: https://pan.baidu.com/s/1HnYXVlIDhg6k7sGSzMg33A

提取码: 1gbk

 

其中XX很简单,按照pdf说明文档来就行,或者往下看操作

 

怎么在idea升级java idea 升级_idea2020新特性

 

 


 

怎么在idea升级java idea 升级_spring源码编译_02

 

 


 

四、整包下载(涵windows、mac安装包和XXJar)

百度网盘链接: https://pan.baidu.com/s/1l-TAzHOVeIT-ZTfNpyN_0w

提取码: 8kzn 

 

怎么在idea升级java idea 升级_idea 2020_03

 


 

五、安装后,打开IDEA,如下,提示只有30天有效期

 

怎么在idea升级java idea 升级_mac idea 2020_04

 


 

六、解压下载的jetbrains-agent-latest.zip,操作如下

 

怎么在idea升级java idea 升级_idea 2020_05

 


 

七、两部操作,实现XX(PJ)

 

重启后,选择"为IDEA重新安装" ,然后弹出框提示你,是否要重启,再次选择“是”,然后重启看,就可以看到下面这个了

 

怎么在idea升级java idea 升级_idea 2020_06

 

 


 

八、spring-framework 5.0.x源码fork

 

git地址:https://github.com/spring-projects/spring-framework/tree/5.0.x

怎么在idea升级java idea 升级_idea2020新特性_07

 


 

怎么在idea升级java idea 升级_怎么在idea升级java_08

 

切换到这个分支,然后fork到我们自己的仓库中

 

然后,你可以clone或者下载源码zip包到本地

 

怎么在idea升级java idea 升级_spring源码编译_09

 

 


 

九、直接找到源码包里面的说明文件,如下

 

怎么在idea升级java idea 升级_spring源码编译_10

 

打开文件,主要看下面这句话

 

怎么在idea升级java idea 升级_mac idea 2020_11

 

在根文件夹下,执行如下命令

 

./gradlew :spring-oxm:compileTestJava

 

执行后,耐心等待就行


如果gradle下载太慢,那就缓存阿里的gradle仓库如下

地址:https://maven.aliyun.com/mvn/guide?spm=a2c6h.13066369.0.0.53a0404f1pIAmR&userCode=r3yteowb

 

怎么在idea升级java idea 升级_怎么在idea升级java_12

 


怎么在idea升级java idea 升级_怎么在idea升级java_13


 

十、IDEA直接载入源码(open文件夹)

 

说明:载入项目后,gradle会去下载工程所需的所有依赖包,这个比较费时,大概20分钟-30分钟左右,耐心等待即可

 

ok后,结构如下:

 

 

怎么在idea升级java idea 升级_idea2020新特性_14

 

 


 

 

以上各个模块都有什么功能,可以私下自行进行充电,比如下面是我整理的一部分:

怎么在idea升级java idea 升级_怎么在idea升级java_15

 

 


 

十一、走一个配置Bean和获取Bean的例子

 

说明:看似最后getBean很简单,其实过程中Spring干了很多事情,这里不讲源码分析,只跑一个简单小demo

 

(1)ClassPathXMLxxxx方式创建IOC容器,完成Bean的实例化和获取Bean操作

 

怎么在idea升级java idea 升级_idea 2020_16

 

(2)注解方式创建IOC容器,完成Bean的实例化和获取Bean

 

怎么在idea升级java idea 升级_mac idea 2020_17

 

 

(3)main跑一波,测试一下,是否两种方式都可以正常的获取到user对象

穿插:这里讲一下,IDEA 2020版本的两个我觉得很ok的新特性,

 

A、代码zen(禅道)模式

 

怎么在idea升级java idea 升级_idea 2020_18

 

 


 

怎么在idea升级java idea 升级_spring源码编译_19

 

 

B、类路径支持类的属性下拉快捷查看

怎么在idea升级java idea 升级_spring源码编译_20

 


 

话不多说,直接看运行效果

 

怎么在idea升级java idea 升级_idea2020新特性_21