目录
从事it已经有几年了,不断是全栈还是后端,但是对Spring的源码一直不是很了解,在工作中涉及到原理性内容总是浅尝辄止,下定决心提升自我,搞懂Spring从这里开始。说练就练。第一节搭建Spring本地调试环境。
开发工具:IDEA2019+ Java8 + gradle4.10.2 +mac
工欲善其事,必先利其器,这里简述gradle的安装。
gradle安装及配置
1.下载gradle安装包
下载完成后解压,放到自己的目录位置/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源码环境已搭建完成,小伙伴儿们在搭建过程中如果遇到问题欢迎留言讨论,聪明的你赶快行动吧。