Spring全家桶博客目录:Spring全家桶-源码深入学习-00:目录
环境详细列表:
环境列表 | 描述 |
分支:study5.3 | 基于Spring5.3进行扩展 |
分支创建时间: | 2021-11-12 |
使用工具: | IDEA(2020.3) |
JDK | 1.8 |
JVM | 11 |
Gradle | 7.3 |
01-下载代码:
官网:
1,GitHub官网Spring源代码下载 2,老文本人的学习Gitee仓库,会比较快一点
1,使用命令
在要下载源码的目录下:
输入cmd+回车
git clone https://gitee.com/TaiChu-Lw/spring-source-code.git
下载成功:
下载:
2,使用IDEA下载(不推荐,比较慢)
本人是2020版本
02-打开工程:
1,IDEA构建项目
Spring官方是用Grandle构建的,所以我们也需要进行配置:
具体步骤:环境配置-Gradle安装-配置(Windows10)&&及Grandle在IDEA中配置说明下载依赖位置,使用本地Grandle
2,构建项目:
参考Spring官方文档:
## Steps
_Within your locally cloned spring-framework working directory:_
1. Precompile “spring-oxm” with “gradlew :spring-oxm:compileTestJava”
2. Import into IntelliJ (File -> New -> Project from Existing Sources -> Navigate to directory -> Select build.gradle)
3. When prompted exclude the `spring-aspects` module (or after the import via File-> Project Structure -> Modules)
4. Code away
具体文档可以在:
GitHub官方:
项目根目录下:
老文Git学习版本中:
项目更目录下,
cmd运行:gradlew :spring-oxm:compileTestJava
或者说:直接点击IDEA下的Terminal,运行,下面就是本人直接在IDEA下运行的结果
首先构建:构建成功
1,项目模块出现蓝色小框
2,Build结束:
编译过程中如果产生错误请检查环境,或者查看目录下的错误:
Spring全家桶-源码深入学习:目录
03-创建自测项目:
2,添加测试代码:
文件结构:
添加依赖:
三角形没有出来,看看build的时候有没有报错,如果没有,那么等一段时间即可
特别说明:compile()已经在Gradle7中被弃用,添加依赖使用implementation
或者api
implementation:仅能在本模块内使用
api:其他模块也可以用
implementation project(path: ':spring-beans')
implementation project(path: ':spring-context')
类
/**
* @author 老文
* @site
* @company
* @create 2021-11-14 9:33
*/
public class Person {
private String name;
private String id;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
}
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 id="person" class="xyz.taichu.ioc.Person">
<property name="id" value="111"></property>
<property name="name" value="小明"></property>
</bean>
</beans>
main方法:
public static void main(String[] args) {
System.out.println("hello world");
ApplicationContext applicationContext=new ClassPathXmlApplicationContext("person.xml");
Person person= (Person) applicationContext.getBean("person");
}