在 Spring 中有哪些核心类和扩展类?

作为一个 Java 开发,Spring 的技术可以说是必须要掌握的,不仅仅是会使用,而且要掌握原理,学会扩展。 今天我就说说,哪些核心类和扩展类是必须要掌握的,同时我也说明这些扩展可以干什么,后面 Spring 文章,我会用到这些扩展类,让你学懂这些类。

搭建 Tomcat 源码调试环境

1. 下载代码

1
git clone  git@github.com:apache/tomcat.git

2. 安装ant

  1. 我本地安装的是 1.10.12 版本, ant 下载地址
  2. 配置环境变量 ANT_HOME, 加入到 PATH 环境变量中
  3. 执行命令验证 ant -version

3. 导入到 idea 中

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
# 进入 tomcat 根目前
cd tomcat 

# 复制配置文件 build.properties
cp build.properties.default build.properties

# 更改 build.properties 中的配置
base.path=第三方jar的下载目录

# 设置 idea
ant ide-intellij

# 执行编译命令, 会生成 output 目录
ant deploy

然后用 idea 打开项目,idea 会弹出让你配置下面的变量

调试 Deployment-Controller 的源码

  1. deployment 资源是我们经常需要使用的,也是我们最应该熟悉的源码.
  2. 对于调试源码,我使用是 deployment_controller_test.go 测试类, TestSyncDeploymentCreatesReplicaSet 方法.

TestSyncDeploymentCreatesReplicaSet 测试方法的结构

源码路径:kubernetes\pkg\controller\deployment\deployment_controller_test.go