Spring源码解析之源码的下载编译

2021-06-03




老粉应该知道了,笔者最近刚上架技术生涯的第一本书《Java源码模拟面试解析指南 》。



于是趁着年轻时还有时间修福报,准备再做一个 Spring源码面试指南。相比于之前是直接阅读引入jar包的方式来研读 JDK 源码,由于框架源码的复杂性及强可插拔性,一般将源码编译到本地,由此便可以边研读源码边加自由地注释,方便调试程序等。

  • 首先进入 spring 官方仓库,fork 一份仓库到自己账号下,方便自己提交。


  • 在自己账号下仓库 clone 到本地。

    clone过程可能会很久,如果不行,直接将源码的压缩包Download Zip。

  • 导入项目,选中build.gradle 文件即可。

  • 等待

  • 在 build.gradle添加阿里云镜像

    构建项目

  • Build > Build Project


  • 报错

    安装aspectj

  • 下载aspectj
    https://mvnrepository.com/artifact/org.aspectj/aspectjtools/1.9.5

  • 安装aspectj

    java -jar aspectj-1.9.5.jar


IDEA中配置aspectj

确保以下两个插件已被激活

  • Spring AOP/@AspectJ

  • AspectJ Support


  • 将编译器改为 Ajc

  • 设置Ajc的安装目录,选择到aspectjtools.jar

  • Delegate to Javac选项打钩,这个代理设置的作用只对指定的项目进行Ajc编译,其他的项目还是用默认的javac编译器编译


    指定需要使用Ajc编译的项目

    分别为spring-aop及spring-aspects添加Facets属性。

  • Project Structure → Facets


    选择spring-aop.main,点击OK,同理添加spring-aspects.main

完成上述步骤后,再次选择Build > Build Project,成功完成编译。


往期推荐









扫描二维码

获取更多精彩

JavaEdge




相关文章

2021版SpringBoot2零基础入门springboot全套完整版(网课百度网盘分享下载)

2021-09-11
有能力的朋友可以去官网购买,支持作者哦~你需要《 》?如果是,那就加我吧!我们这正好有,欢迎你添加我们为好友,我们一起拼...

神级Spring Boot手册,从基础入门到实战进阶,赶紧下载收藏!

2021-09-11
不得不说,SpringBoot在Java开发中的地位越来越高,越来越重要.作为一个Java程序员,必须要把SpringBoot搞清楚.现在企业中对...

Springboot打包下载excel到浏览器

2021-09-11
var url = window.URL.createObjectURL(blob); a.href = url; //设置文件名称 a.download = "测试打包excel"; a.click(); }else{ alert("服...

SpringMVC下Excel文件的上传下载

2021-06-03
(三)View类这个类在下载时用到,在Spring渲染页面时使用自定义的View类进行Excel的相关处理. Java代码 package com....

Spring Boot+Spring security+Thymeleaf+Elasticsearch博客系统视频教程免费下载

2021-06-03
这是一个基于Spring Boot+Spring security+Thymeleaf+Elasticsearch+JPA+Bootstrap+Mysql等实现的一个多用户,多角色的博客系统....

狂神说SpringMVC08:拦截器+文件上传下载

2021-06-03
Spring MVC为文件上传提供了直接的支持,这种支持是用即插即用的MultipartResolver实现的.Spring MVC使用Apache Commons ...

春天真的好耀眼 | Springtime Marks 春之面具亲子手工免费下载(女王节福利哦)...

2021-06-03
公众号对话框回复:春天,可以免费下载这个模板制作面具所需的材料非常简单;纸模版;剪刀;蜡笔或水彩笔;打洞工具(没有可以...

高可用的Spring FTP上传下载工具类(已解决上传过程常见问题)

2021-06-03
cnblogs.com/chenkeyu/p/8001624.html前言最近在项目中需要和ftp服务器进行交互,在网上找了一下关于ftp上传下载的工具类,大致有...

SpringBoot动态生成多个Excel文件以压缩包.zip格式下载

2021-06-03
来源:blog.csdn.net/qq_40437152/article/details/111411364前言文件下载的场景很多(还不是需求丰富嘛~),那么什么是动态生成文...

SpringBoot动态生成多个Excel文件以压缩包.zip格式下载

2021-06-03
单个嘛直接下载,多个打包下载咯!项目场景项目中有个数据导出excel的需求,而且是批量,那么就要打包咯解决步骤基本实现如下:...

随机推荐

重磅 | Qt携手LG,webOS有望成为未来嵌入式智能设备首选平台

2021-06-01
包括Qt Creator、Qt Design Studio和Qt 3D Studio —— 也将支持webOS,因为后者将会成为Qt的参考操作系统.“长久以来,LG一直...

FastReport .NET 2021.1 :显著改进了将RTF转换为报表对象的算法

2021-04-19
修复了连接到远程JSON时web响应流阅读器的错误- 修复了使用VisibleExpression,PrintableExpression和ExportableExpression属性的...

中国联通上线“兵王卡”套餐:40GB+300分钟 29元/月

2021-03-11
近日,中国联通上线了一款名为“兵王卡”的套餐,月租仅需 29 元,套餐内包含40GB全国流量+ 300 分钟语音通话,国内免费接听,...

开发一款商城手机APP系统软件大概需要多少钱呢

2021-03-07
开发一款商城手机APP系统软件大概需要多少钱呢如今线上电商越来越活跃,越来越多的行业、企业、零食商加入线上电商行业.因此...

使用wsb-detect检测你是否在Windows沙盒中

2021-02-27
wsb-detect概述wsb-detect可以帮助广大研究人员判断应用程序当前是否在Windows Sandbox(WSB)中运行.众所周知,Windows ...

透明压缩技术如何缓解数据库中写放大

2019-02-05
复杂的压缩算法,如Zlib和Bzip2,压缩解压缩速度慢,CPU占用多,但是压缩效果会好一些.但是,无论压缩算法本身复杂与否,基于...

欢迎报考湖州职院|连锁经营、软件技术专业简介

2016-11-30
软件技术专业 ▼ 2020年提前招生30人 ▼专业荣誉2017年入选学校第一批名专业;普通类招生专业录取平均分连续三年排名全校第一...

分布式数据库和 Hadoop 都不够好,于是我们设计分布式 SQL 计算系统

2016-08-04
设计了一套综合两者的系统,利用两者的优点, 补充两者的不足.具体的说, 使用数据库水平分割的思想实现数据存储,使用 ...

神回复 为了保贞操,人类放大招

2016-05-16
@被叛与救赎:想起田馥甄的歌——《囚鸟》! 渝小Q:太内涵! 【女子母乳喂养女儿到6岁】 @一丝清爽:我邻居家的男孩吃到...

Java程序员修炼之路(一)我们为什么选择Java

2016-02-05
而Java高级程序员则需要了解更多的框架和一些常用的应用服务器,如工作流、搜索引擎、缓存、JTA、JBoss、WebLogic等.达到高...