Spring源码解析(一)IDEA搭建源码调试环境

目录

gradle安装及配置

1.下载gradle安装包

2.配置.bash_profile,并使配置生效

3.验证

下载 Spring源码

1.从git下载源码

2.预编译

3.导入源码

4.排除及注释

新建测试类

1.目录结构

2.MyConfigClass

3.spring-config.xml

4.输出


从事it已经有几年了,不断是全栈还是后端,但是对Spring的源码一直不是很了解,在工作中涉及到原理性内容总是浅尝辄止,下定决心提升自我,搞懂Spring从这里开始。说练就练。第一节搭建Spring本地调试环境。

开发工具:IDEA2019+ Java8 +  gradle4.10.2 +mac

工欲善其事,必先利其器,这里简述gradle的安装。

gradle安装及配置

1.下载gradle安装包

https://gradle.org/releases/

下载完成后解压,放到自己的目录位置/usr/local/gradle-4.10.2

2.配置.bash_profile,并使配置生效

cd ~

vi .bash_profile

点击i进入编辑模式,增加如下内容:

#注意,此处路径需要是你自己的实际路径,gradle解压后存放的位置

GRADLE_HOME=/usr/local/gradle-4.10.2

export GRADLE_HOME

export PATH=$PATH:$GRADLE_HOME/bin

上面都配置好了以后输入wq!

刷新文件source  ~/.bash_profile 

注:我这里因为配置了maven故此文件这样

PATH=$PATH:/usr/local/mysql/bin
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
GRADLE_HOME=/usr/local/gradle-4.10.2
export GRADLE_HOME
M2_HOME=/usr/local/bin/apache-maven-3.6.0
export M2_HOME
export PATH=$PATH:$GRADLE_HOME/bin:${M2_HOME}/bin
export PATH

3.验证

输入gradle -version

下载 Spring源码

1.从git下载源码

git地址:https://github.com/spring-projects/spring-framework 这里版本用5.0.x版本

2.预编译

根据import-into-idea.md文件中说明源码进行预编译:./gradlew :spring-oxm:compileTestJava

时间比较长,请耐心等待。

3.导入源码

打开IDEA,Import  Project ==>选择源码下的build.gradle 文件

打开以后下载jar会非常的慢,保持良好的网络,耐心等耐,如果遇到失败,则刷新 gradle,会继续下载jar包。

4.排除及注释

下载jar包时,要根据import-into-idea.md中说明排除spring-aspect。

 

 中间过程依然会报错:

修改build.gradle中

kotlinVersion = "1.2.0"

spring-beans.gradle中进行如下注释

spring-beans.gradle中进行进行如下修改

 

最后执行gradle.build或双击下图

新建测试类

1.目录结构

2.MyConfigClass

//@Configuration
public class MyConfClass {

	@Bean
	public UserService userService(){
		return new UserService();
	}


	public static void main(String[] args) {
//		AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(MyConf.class);
//		String[] names = context.getBeanDefinitionNames();
//		for (String beanName : names){
//			System.out.println(beanName);
//		}
		ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("spring-config.xml");
		User user = (User) context.getBean("User");
		System.out.println(user.getAge());

	}
}

3.spring-config.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	   xsi:schemaLocation="http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans.xsd">

<bean class="User">
	<property name="name" value="张三"/>
	<property name="age" value="28"/>
</bean>
</beans>

4.输出

至此,spring源码环境已搭建完成,小伙伴儿们在搭建过程中如果遇到问题欢迎留言讨论,聪明的你赶快行动吧。

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值