Skip to content

Commit

Permalink
feat: 整理图片
Browse files Browse the repository at this point in the history
  • Loading branch information
dunwu committed Jan 27, 2024
1 parent 8cbfa11 commit 755ee56
Show file tree
Hide file tree
Showing 47 changed files with 185 additions and 185 deletions.
10 changes: 5 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<p align="center">
<a href="https://dunwu.github.io/javacore/" target="_blank" rel="noopener noreferrer">
<img src="https://raw.githubusercontent.com/dunwu/images/dev/common/dunwu-logo.png" alt="logo" width="150px"/>
<img src="https://raw.githubusercontent.com/dunwu/images/master/common/dunwu-logo.png" alt="logo" width="150px"/>
</a>
</p>

Expand Down Expand Up @@ -61,7 +61,7 @@

### [Java 容器](docs/01.Java/01.JavaSE/03.容器)

![img](https://raw.githubusercontent.com/dunwu/images/dev/snap/20200221175550.png)
![img](https://raw.githubusercontent.com/dunwu/images/master/snap/20200221175550.png)

- [Java 容器简介](docs/01.Java/01.JavaSE/03.容器/01.Java容器简介.md) - 关键词:`Collection``泛型``Iterable``Iterator``Comparable``Comparator``Cloneable``fail-fast`
- [Java 容器之 List](docs/01.Java/01.JavaSE/03.容器/02.Java容器之List.md) - 关键词:`List``ArrayList``LinkedList`
Expand All @@ -72,7 +72,7 @@

### [Java IO](docs/01.Java/01.JavaSE/04.IO)

![img](https://raw.githubusercontent.com/dunwu/images/dev/snap/20200630205329.png)
![img](https://raw.githubusercontent.com/dunwu/images/master/snap/20200630205329.png)

- [Java IO 模型](docs/01.Java/01.JavaSE/04.IO/01.JavaIO模型.md) - 关键词:`InputStream``OutputStream``Reader``Writer``阻塞`
- [Java NIO](docs/01.Java/01.JavaSE/04.IO/02.JavaNIO.md) - 关键词:`Channel``Buffer``Selector``非阻塞``多路复用`
Expand All @@ -82,7 +82,7 @@

### [Java 并发](docs/01.Java/01.JavaSE/05.并发)

![img](https://raw.githubusercontent.com/dunwu/images/dev/snap/20200221175827.png)
![img](https://raw.githubusercontent.com/dunwu/images/master/snap/20200221175827.png)

- [Java 并发简介](docs/01.Java/01.JavaSE/05.并发/01.Java并发简介.md) - 关键词:`进程``线程``安全性``活跃性``性能``死锁``饥饿``上下文切换`
- [Java 线程基础](docs/01.Java/01.JavaSE/05.并发/02.Java线程基础.md) - 关键词:`Thread``Runnable``Callable``Future``wait``notify``notifyAll``join``sleep``yeild``线程状态``线程通信`
Expand All @@ -97,7 +97,7 @@

### [Java 虚拟机](docs/01.Java/01.JavaSE/06.JVM)

![img](https://raw.githubusercontent.com/dunwu/images/dev/snap/20200628154803.png)
![img](https://raw.githubusercontent.com/dunwu/images/master/snap/20200628154803.png)

- [JVM 体系结构](docs/01.Java/01.JavaSE/06.JVM/01.JVM体系结构.md)
- [JVM 内存区域](docs/01.Java/01.JavaSE/06.JVM/02.JVM内存区域.md) - 关键词:`程序计数器``虚拟机栈``本地方法栈````方法区``运行时常量池``直接内存``OutOfMemoryError``StackOverflowError`
Expand Down
2 changes: 1 addition & 1 deletion docs/.vuepress/config.js
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ module.exports = {
},
],
sidebarDepth: 2, // 侧边栏显示深度,默认1,最大2(显示到h3标题)
logo: 'https://raw.githubusercontent.com/dunwu/images/dev/common/dunwu-logo.png', // 导航栏logo
logo: 'https://raw.githubusercontent.com/dunwu/images/master/common/dunwu-logo.png', // 导航栏logo
repo: 'dunwu/javacore', // 导航栏右侧生成Github链接
searchMaxSuggestions: 10, // 搜索结果显示最大数
lastUpdated: '上次更新', // 更新的时间,及前缀文字 string | boolean (取值为git提交时间)
Expand Down
32 changes: 16 additions & 16 deletions docs/01.Java/01.JavaSE/01.基础特性/01.Java基础语法.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ public class HelloWorld {

## 基本数据类型

![img](https://raw.githubusercontent.com/dunwu/images/dev/cs/java/javacore/xmind/Java基本数据类型.svg)
![img](https://raw.githubusercontent.com/dunwu/images/master/cs/java/javacore/xmind/Java基本数据类型.svg)

> 👉 扩展阅读:[深入理解 Java 基本数据类型](https://dunwu.github.io/blog/pages/55d693/)
Expand Down Expand Up @@ -74,72 +74,72 @@ Java 支持的变量类型有:

## 数组

![img](https://raw.githubusercontent.com/dunwu/images/dev/cs/java/javacore/xmind/Java数组.svg)
![img](https://raw.githubusercontent.com/dunwu/images/master/cs/java/javacore/xmind/Java数组.svg)

> 👉 扩展阅读:[深入理解 Java 数组](https://dunwu.github.io/blog/pages/155518/)
## 枚举

![img](https://raw.githubusercontent.com/dunwu/images/dev/cs/java/javacore/xmind/Java枚举.svg)
![img](https://raw.githubusercontent.com/dunwu/images/master/cs/java/javacore/xmind/Java枚举.svg)

> 👉 扩展阅读:[深入理解 Java 枚举](https://dunwu.github.io/blog/pages/979887/)
## 操作符

Java 中支持的操作符类型如下:

![img](https://raw.githubusercontent.com/dunwu/images/dev/cs/java/javacore/xmind/Java操作符.svg)
![img](https://raw.githubusercontent.com/dunwu/images/master/cs/java/javacore/xmind/Java操作符.svg)

> 👉 扩展阅读:[Java 操作符](http://www.runoob.com/java/java-operators.html)
## 方法

![img](https://raw.githubusercontent.com/dunwu/images/dev/snap/20220125072221.png)
![img](https://raw.githubusercontent.com/dunwu/images/master/snap/20220125072221.png)

> 👉 扩展阅读:[深入理解 Java 方法](https://dunwu.github.io/blog/pages/7a3ffc/)
## 控制语句

![img](https://raw.githubusercontent.com/dunwu/images/dev/cs/java/javacore/xmind/Java控制语句.svg)
![img](https://raw.githubusercontent.com/dunwu/images/master/cs/java/javacore/xmind/Java控制语句.svg)

> 👉 扩展阅读:[Java 控制语句](https://dunwu.github.io/blog/pages/fb4f8c/)
## 异常

![img](https://raw.githubusercontent.com/dunwu/images/dev/cs/java/javacore/xmind/Java异常框架.svg)
![img](https://raw.githubusercontent.com/dunwu/images/master/cs/java/javacore/xmind/Java异常框架.svg)

![img](https://raw.githubusercontent.com/dunwu/images/dev/cs/java/javacore/xmind/Java异常.svg)
![img](https://raw.githubusercontent.com/dunwu/images/master/cs/java/javacore/xmind/Java异常.svg)

> 👉 扩展阅读:[深入理解 Java 异常](https://dunwu.github.io/blog/pages/37415c/)
## 泛型

![img](https://raw.githubusercontent.com/dunwu/images/dev/cs/java/javacore/xmind/Java泛型.svg)
![img](https://raw.githubusercontent.com/dunwu/images/master/cs/java/javacore/xmind/Java泛型.svg)

> 👉 扩展阅读:[深入理解 Java 泛型](https://dunwu.github.io/blog/pages/33a820/)
## 反射

![img](https://raw.githubusercontent.com/dunwu/images/dev/cs/java/javacore/xmind/Java反射.svg)
![img](https://raw.githubusercontent.com/dunwu/images/master/cs/java/javacore/xmind/Java反射.svg)

![img](https://raw.githubusercontent.com/dunwu/images/dev/cs/java/javacore/xmind/Java代理.svg)
![img](https://raw.githubusercontent.com/dunwu/images/master/cs/java/javacore/xmind/Java代理.svg)

> 👉 扩展阅读:[深入理解 Java 反射和动态代理](https://dunwu.github.io/blog/pages/0d066a/)
## 注解

![img](https://raw.githubusercontent.com/dunwu/images/dev/cs/java/javacore/xmind/注解简介.svg)
![img](https://raw.githubusercontent.com/dunwu/images/master/cs/java/javacore/xmind/注解简介.svg)

![img](https://raw.githubusercontent.com/dunwu/images/dev/cs/java/javacore/xmind/元注解.svg)
![img](https://raw.githubusercontent.com/dunwu/images/master/cs/java/javacore/xmind/元注解.svg)

![img](https://raw.githubusercontent.com/dunwu/images/dev/cs/java/javacore/xmind/内置注解.svg)
![img](https://raw.githubusercontent.com/dunwu/images/master/cs/java/javacore/xmind/内置注解.svg)

![img](https://raw.githubusercontent.com/dunwu/images/dev/cs/java/javacore/xmind/自定义注解.svg)
![img](https://raw.githubusercontent.com/dunwu/images/master/cs/java/javacore/xmind/自定义注解.svg)

> 👉 扩展阅读:[深入理解 Java 注解](https://dunwu.github.io/blog/pages/ecc011/)
## 序列化

![img](https://raw.githubusercontent.com/dunwu/images/dev/cs/java/javacore/xmind/Java序列化.svg)
![img](https://raw.githubusercontent.com/dunwu/images/master/cs/java/javacore/xmind/Java序列化.svg)

> 👉 扩展阅读:[Java 序列化](https://dunwu.github.io/blog/pages/2b2f0f/)
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ permalink: /pages/55d693/

# 深入理解 Java 基本数据类型

![img](https://raw.githubusercontent.com/dunwu/images/dev/snap/20220408172602.png)
![img](https://raw.githubusercontent.com/dunwu/images/master/snap/20220408172602.png)

## 数据类型分类

Expand Down
4 changes: 2 additions & 2 deletions docs/01.Java/01.JavaSE/01.基础特性/03.Java面向对象.md
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ String s = new String("abc");

狗和鸟都是动物。如果将狗、鸟作为类,它们可以继承动物类。

![img](https://raw.githubusercontent.com/dunwu/images/dev/snap/1552641712126.png)
![img](https://raw.githubusercontent.com/dunwu/images/master/snap/1552641712126.png)

类的继承形式:

Expand Down Expand Up @@ -128,7 +128,7 @@ Java 中提供的基本数据类型,只能表示单一的数值,这用于数

类的形式如下:

![img](https://raw.githubusercontent.com/dunwu/images/dev/snap/1552640231731.png)
![img](https://raw.githubusercontent.com/dunwu/images/master/snap/1552640231731.png)

## 方法

Expand Down
2 changes: 1 addition & 1 deletion docs/01.Java/01.JavaSE/01.基础特性/04.Java方法.md
Original file line number Diff line number Diff line change
Expand Up @@ -474,7 +474,7 @@ public class MethodOverloadDemo {

## 小结

![img](https://raw.githubusercontent.com/dunwu/images/dev/snap/1553767582595.png)
![img](https://raw.githubusercontent.com/dunwu/images/master/snap/1553767582595.png)

## 参考资料

Expand Down
4 changes: 2 additions & 2 deletions docs/01.Java/01.JavaSE/01.基础特性/05.Java数组.md
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ Java 数组在内存中的存储是这样的:

如下图所示:只有当 JVM 执行 `new String[]` 时,才会在堆中开辟相应的内存区域。数组对象 array 可以视为一个指针,指向这块内存的存储地址。

![img](https://raw.githubusercontent.com/dunwu/images/dev/snap/1552473482942.png)
![img](https://raw.githubusercontent.com/dunwu/images/master/snap/1552473482942.png)

## 声明数组

Expand Down Expand Up @@ -374,7 +374,7 @@ Java 中,提供了一个很有用的数组工具类:Arrays。
## 小结

![img](https://raw.githubusercontent.com/dunwu/images/dev/snap/1553753908349.png)
![img](https://raw.githubusercontent.com/dunwu/images/master/snap/1553753908349.png)

## 参考资料

Expand Down
2 changes: 1 addition & 1 deletion docs/01.Java/01.JavaSE/01.基础特性/06.Java枚举.md
Original file line number Diff line number Diff line change
Expand Up @@ -657,7 +657,7 @@ public class EnumMapDemo {
## 小结

![img](https://raw.githubusercontent.com/dunwu/images/dev/snap/1553002212154.png)
![img](https://raw.githubusercontent.com/dunwu/images/master/snap/1553002212154.png)

## 参考资料

Expand Down
4 changes: 2 additions & 2 deletions docs/01.Java/01.JavaSE/01.基础特性/08.Java异常.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ permalink: /pages/37415c/

# 深入理解 Java 异常

![img](https://raw.githubusercontent.com/dunwu/images/dev/snap/1553752019030.png)
![img](https://raw.githubusercontent.com/dunwu/images/master/snap/1553752019030.png)

## 异常框架

Expand Down Expand Up @@ -124,7 +124,7 @@ Exception in thread "main" java.lang.ArithmeticException: / by zero

## 自定义异常

![img](https://raw.githubusercontent.com/dunwu/images/dev/snap/1553752795010.png)
![img](https://raw.githubusercontent.com/dunwu/images/master/snap/1553752795010.png)

**自定义一个异常类,只需要继承 `Exception``RuntimeException` 即可。**

Expand Down
4 changes: 2 additions & 2 deletions docs/01.Java/01.JavaSE/01.基础特性/09.Java泛型.md
Original file line number Diff line number Diff line change
Expand Up @@ -378,7 +378,7 @@ Java 泛型的实现方式不太优雅,但这是因为泛型是在 JDK5 时引

> 向上转型是指用子类实例去初始化父类,这是面向对象中多态的重要表现。
![img](https://raw.githubusercontent.com/dunwu/images/dev/snap/1553147778883.png)
![img](https://raw.githubusercontent.com/dunwu/images/master/snap/1553147778883.png)

`Integer` 继承了 `Object``ArrayList` 继承了 `List`;但是 `List<Interger>` 却并非继承了 `List<Object>`

Expand Down Expand Up @@ -664,7 +664,7 @@ public class Example {

## 小结

![img](https://raw.githubusercontent.com/dunwu/images/dev/cs/java/javacore/xmind/Java泛型.svg)
![img](https://raw.githubusercontent.com/dunwu/images/master/cs/java/javacore/xmind/Java泛型.svg)

## 参考资料

Expand Down
8 changes: 4 additions & 4 deletions docs/01.Java/01.JavaSE/01.基础特性/10.Java反射.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ permalink: /pages/0d066a/

## 反射简介

![img](https://raw.githubusercontent.com/dunwu/images/dev/cs/java/javacore/xmind/Java反射.svg)
![img](https://raw.githubusercontent.com/dunwu/images/master/cs/java/javacore/xmind/Java反射.svg)

### 什么是反射

Expand All @@ -44,7 +44,7 @@ permalink: /pages/0d066a/

### 类加载过程

![img](https://raw.githubusercontent.com/dunwu/images/dev/snap/1553611895164.png)
![img](https://raw.githubusercontent.com/dunwu/images/master/snap/1553611895164.png)

类加载的完整过程如下:

Expand Down Expand Up @@ -552,7 +552,7 @@ public class ReflectMethodConstructorDemo {

实现动态代理的方式很多,比如 JDK 自身提供的动态代理,就是主要利用了上面提到的反射机制。还有其他的实现方式,比如利用传说中更高性能的字节码操作机制,类似 ASM、cglib(基于 ASM)、Javassist 等。

![img](https://raw.githubusercontent.com/dunwu/images/dev/cs/java/javacore/xmind/Java代理.svg)
![img](https://raw.githubusercontent.com/dunwu/images/master/cs/java/javacore/xmind/Java代理.svg)

### 静态代理

Expand Down Expand Up @@ -607,7 +607,7 @@ class Proxy extends Subject {

在运行状态中,需要代理的地方,根据 Subject 和 RealSubject,动态地创建一个 Proxy,用完之后,就会销毁,这样就可以避免了 Proxy 角色的 class 在系统中冗杂的问题了。

![img](https://raw.githubusercontent.com/dunwu/images/dev/snap/1553614585028.png)
![img](https://raw.githubusercontent.com/dunwu/images/master/snap/1553614585028.png)

Java 动态代理基于经典代理模式,引入了一个 `InvocationHandler``InvocationHandler` 负责统一管理所有的方法调用。

Expand Down
8 changes: 4 additions & 4 deletions docs/01.Java/01.JavaSE/01.基础特性/11.Java注解.md
Original file line number Diff line number Diff line change
Expand Up @@ -817,13 +817,13 @@ public class RegexValidDemo {

## 小结

![img](https://raw.githubusercontent.com/dunwu/images/dev/cs/java/javacore/xmind/注解简介.svg)
![img](https://raw.githubusercontent.com/dunwu/images/master/cs/java/javacore/xmind/注解简介.svg)

![img](https://raw.githubusercontent.com/dunwu/images/dev/cs/java/javacore/xmind/元注解.svg)
![img](https://raw.githubusercontent.com/dunwu/images/master/cs/java/javacore/xmind/元注解.svg)

![img](https://raw.githubusercontent.com/dunwu/images/dev/cs/java/javacore/xmind/内置注解.svg)
![img](https://raw.githubusercontent.com/dunwu/images/master/cs/java/javacore/xmind/内置注解.svg)

![img](https://raw.githubusercontent.com/dunwu/images/dev/cs/java/javacore/xmind/自定义注解.svg)
![img](https://raw.githubusercontent.com/dunwu/images/master/cs/java/javacore/xmind/自定义注解.svg)

## 参考资料

Expand Down
10 changes: 5 additions & 5 deletions docs/01.Java/01.JavaSE/02.高级特性/02.Java编码和加密.md
Original file line number Diff line number Diff line change
Expand Up @@ -278,7 +278,7 @@ HmacSHA512: 6n77htTZ_atc04-SsmxhSK3wzh1sAmdudCl0Cb_RZp4DpienG4LZkhXMbq8lcK7XSnz6

签名时要使用私钥和待签名数据,验证时则需要公钥、签名值和待签名数据,其核心算法主要是消息摘要算法。

![img](https://raw.githubusercontent.com/dunwu/images/dev/cs/java/advanced/java-message-digest-process.jpg)
![img](https://raw.githubusercontent.com/dunwu/images/master/cs/java/advanced/java-message-digest-process.jpg)

数字签名常用算法:**RSA****DSA****ECDSA**

Expand Down Expand Up @@ -398,11 +398,11 @@ public class DsaCoder {

一种是把明文信息划分为不同的组(或块)结构,分别对每个组(或块)进行加密、解密,称为分组密码。

![img](https://raw.githubusercontent.com/dunwu/images/dev/cs/java/advanced/symmetric-encryption.png)
![img](https://raw.githubusercontent.com/dunwu/images/master/cs/java/advanced/symmetric-encryption.png)

假设甲乙方作为通信双方。假定甲乙双方在消息传递前已商定加密算法,欲完成一次消息传递需要经过如下步骤。

![img](https://raw.githubusercontent.com/dunwu/images/dev/cs/java/advanced/symmetric-encryption-progress.png)
![img](https://raw.githubusercontent.com/dunwu/images/master/cs/java/advanced/symmetric-encryption-progress.png)

#### 对称加密工作模式

Expand Down Expand Up @@ -648,7 +648,7 @@ PBE 没有密钥概念,密钥在其他对称加密算法中是经过计算得

流程:

![img](https://raw.githubusercontent.com/dunwu/images/dev/cs/java/advanced/password-based-encryption-progress.png)
![img](https://raw.githubusercontent.com/dunwu/images/master/cs/java/advanced/password-based-encryption-progress.png)

步骤如下:

Expand Down Expand Up @@ -790,7 +790,7 @@ public class PBECoder {
- 优点:非对称加密算法解决了对称加密算法的密钥分配问题,并极大地提高了算法安全性。
- 缺点:算法比对称算法更复杂,因此加密、解密速度都比对称算法慢很多。

![img](https://raw.githubusercontent.com/dunwu/images/dev/cs/java/advanced/asymmetric-encryption.png)
![img](https://raw.githubusercontent.com/dunwu/images/master/cs/java/advanced/asymmetric-encryption.png)

非对称加密算法实现机密信息交换的基本过程是:甲方生成一对密钥并将其中的一把作为公用密钥向其它方公开;得到该公用密钥的乙方使用该密钥对机密信息进行加密后再发送给甲方;甲方再用自己保存的另一把专用密钥对加密后的信息进行解密。

Expand Down
12 changes: 6 additions & 6 deletions docs/01.Java/01.JavaSE/02.高级特性/05.JavaSPI.md
Original file line number Diff line number Diff line change
Expand Up @@ -299,7 +299,7 @@ private S nextService() {

学习过 JVM 的读者,想必都了解过类加载器的**双亲委派模型(Parents Delegation Model)**。双亲委派模型要求除了顶层的 **`BootstrapClassLoader`** 外,其余的类加载器都应有自己的父类加载器。这里类加载器之间的父子关系一般通过组合(Composition)关系来实现,而不是通过继承(Inheritance)的关系实现。双亲委派继承体系图如下:

<img src="https://raw.githubusercontent.com/dunwu/images/dev/cs/java/javacore/jvm/jmm-%E7%B1%BB%E5%8A%A0%E8%BD%BD-%E5%8F%8C%E4%BA%B2%E5%A7%94%E6%B4%BE.png" alt="img" style="zoom: 50%;" />
<img src="https://raw.githubusercontent.com/dunwu/images/master/cs/java/javacore/jvm/jmm-%E7%B1%BB%E5%8A%A0%E8%BD%BD-%E5%8F%8C%E4%BA%B2%E5%A7%94%E6%B4%BE.png" alt="img" style="zoom: 50%;" />

双亲委派机制约定了:**一个类加载器首先将类加载请求传送到父类加载器,只有当父类加载器无法完成类加载请求时才尝试加载**

Expand Down Expand Up @@ -364,7 +364,7 @@ Class.forName("com.mysql.jdbc.Driver")

- Mysql:在 mysql 的 Java 驱动包 `mysql-connector-java-XXX.jar` 中,可以找到 `META-INF/services` 目录,该目录下会有一个名字为`java.sql.Driver` 的文件,文件内容是 `com.mysql.cj.jdbc.Driver``com.mysql.cj.jdbc.Driver` 正是 Mysql 版的 `java.sql.Driver` 实现。如下图所示:

![](https://raw.githubusercontent.com/dunwu/images/dev/snap/20220505201455.png)
![](https://raw.githubusercontent.com/dunwu/images/master/snap/20220505201455.png)

- PostgreSQL 实现:在 PostgreSQL 的 Java 驱动包 `postgresql-42.0.0.jar` 中,也可以找到同样的配置文件,文件内容是 `org.postgresql.Driver``org.postgresql.Driver` 正是 PostgreSQL 版的 `java.sql.Driver` 实现。

Expand Down Expand Up @@ -799,19 +799,19 @@ Spring Boot 有各种 starter 包,可以根据实际项目需要,按需取

从 spring-boot-autoconfigure 包的结构来看,它有一个 `META-INF/spring.factories` ,显然利用了 Spring Boot SPI,来自动装配其中的配置类。

![](https://raw.githubusercontent.com/dunwu/images/dev/snap/20220505004100.png)
![](https://raw.githubusercontent.com/dunwu/images/master/snap/20220505004100.png)

下图是 spring-boot-autoconfigure 的 `META-INF/spring.factories` 文件的部分内容,可以看到其中注册了一长串会被自动加载的 `AutoConfiguration` 类。

![](https://raw.githubusercontent.com/dunwu/images/dev/snap/20220505005130.png)
![](https://raw.githubusercontent.com/dunwu/images/master/snap/20220505005130.png)

`RedisAutoConfiguration` 为例,这个配置类中,会根据 `@ConditionalXXX` 中的条件去决定是否实例化对应的 Bean,实例化 Bean 所依赖的重要参数则通过 `RedisProperties` 传入。

![](https://raw.githubusercontent.com/dunwu/images/dev/snap/20220505005548.png)
![](https://raw.githubusercontent.com/dunwu/images/master/snap/20220505005548.png)

`RedisProperties` 中维护了 Redis 连接所需要的关键属性,只要在 yml 或 properties 配置文件中,指定 spring.redis 开头的属性,都会被自动装载到 `RedisProperties` 实例中。

![](https://raw.githubusercontent.com/dunwu/images/dev/snap/20220505005836.png)
![](https://raw.githubusercontent.com/dunwu/images/master/snap/20220505005836.png)

通过以上分析,已经一步步解读出 Spring Boot 自动装载的原理。

Expand Down
Loading

0 comments on commit 755ee56

Please sign in to comment.