优化ConfigurableEnvironment ConfigurablePropertyResolver Environment

master
xuchengsheng 2023-12-02 14:31:03 +08:00
parent bea98c2512
commit 58749d0038
3 changed files with 13 additions and 15 deletions

View File

@ -20,11 +20,11 @@
1. **PropertyResolver** 1. **PropertyResolver**
+ [PropertyResolver](https://github.com/xuchengsheng/spring-reading/blob/master/spring-env/spring-env-propertyResolver/README.md) 接口是 Spring 框架的一个核心组件专注于提供一套灵活且强大的机制来处理应用程序配置属性。它定义了一系列方法用于访问和操纵来自各种源例如属性文件、环境变量、JVM 参数)的属性值。 + [PropertyResolver](/spring-env/spring-env-propertyResolver/README.md) 接口是 Spring 框架的一个核心组件专注于提供一套灵活且强大的机制来处理应用程序配置属性。它定义了一系列方法用于访问和操纵来自各种源例如属性文件、环境变量、JVM 参数)的属性值。
2. **ConfigurablePropertyResolver** 2. **ConfigurablePropertyResolver**
+ [ConfigurablePropertyResolver](https://github.com/xuchengsheng/spring-reading/blob/master/spring-env/spring-env-configurablePropertyResolver/README.md) 接口在Spring中关键作用是提供灵活的配置属性解析。它能从多种源读取并转换属性值支持占位符解析以增强配置的动态性。接口提供类型转换确保属性值符合期望格式。它还允许检查属性存在性并处理默认值增加健壮性。 + [ConfigurablePropertyResolver](/spring-env/spring-env-configurablePropertyResolver/README.md) 接口在Spring中关键作用是提供灵活的配置属性解析。它能从多种源读取并转换属性值支持占位符解析以增强配置的动态性。接口提供类型转换确保属性值符合期望格式。它还允许检查属性存在性并处理默认值增加健壮性。
3. **Environment** 3. **Environment**

View File

@ -17,7 +17,7 @@
### 二、知识储备 ### 二、知识储备
1. `PropertyResolver` 1. **PropertyResolver**
+ [PropertyResolver](/spring-env/spring-env-propertyResolver/README.md) 接口是 Spring 框架的一个核心组件专注于提供一套灵活且强大的机制来处理应用程序配置属性。它定义了一系列方法用于访问和操纵来自各种源例如属性文件、环境变量、JVM 参数)的属性值。 + [PropertyResolver](/spring-env/spring-env-propertyResolver/README.md) 接口是 Spring 框架的一个核心组件专注于提供一套灵活且强大的机制来处理应用程序配置属性。它定义了一系列方法用于访问和操纵来自各种源例如属性文件、环境变量、JVM 参数)的属性值。
### 三、基本描述 ### 三、基本描述
@ -52,7 +52,7 @@
### 五、接口源码 ### 五、接口源码
`ConfigurablePropertyResolver` 接口提供了一系列用于管理和处理配置属性的方法。允许自定义属性值的类型转换服务,管理占位符的前缀和后缀,处理默认值分隔符,以及设置是否忽略无法解析的嵌套占位符。 `ConfigurablePropertyResolver` 接口提供了一系列用于管理和处理配置属性的方法。允许自定义属性值的类型转换服务,管理占位符的前缀和后缀,处理默认值分隔符,以及设置是否忽略无法解析的嵌套占位符。
```java ```java
/** /**
@ -127,7 +127,7 @@ public interface ConfigurablePropertyResolver extends PropertyResolver {
### 七、最佳实践 ### 七、最佳实践
下面代码演示了关于`ConfigurablePropertyResolver`接口 ,包括了处理占位符、默认值、以及转换服务配置方面的应用 使用 Spring 的 `ConfigurablePropertyResolver` 接口来管理和解析配置属性。我们首先创建并配置了属性源,接着实例化了 `PropertySourcesPropertyResolver` 作为属性解析器。在此基础上,代码设置了属性值的转换服务、定义了占位符的前后缀、配置了默认值分隔符,并处理了未解析占位符的情况。此外,还指定并验证了必需的属性,最后读取并输出了配置属性值
```java ```java
public class ConfigurablePropertyResolverDemo { public class ConfigurablePropertyResolverDemo {
@ -172,7 +172,7 @@ public class ConfigurablePropertyResolverDemo {
} }
``` ```
运行结果发现,验证了 `PropertySourcesPropertyResolver` 正确地从提供的属性源中解析出了属性值。它也展示了 `ConfigurablePropertyResolver` 接口在实际应用中的基本用法,即从一个或多个配置源中检索配置属性 运行结果发现,`PropertySourcesPropertyResolver` 能够正确地从给定的属性源中解析出属性值,并且代码中的属性源配置和属性解析器的使用是正确的
```java ```java
获取属性 app.name: Spring-Reading 获取属性 app.name: Spring-Reading

View File

@ -18,13 +18,11 @@
### 二、知识储备 ### 二、知识储备
1. `PropertyResolver` 1. **PropertyResolver**
+ [PropertyResolver](/spring-env/spring-env-propertyResolver/README.md) 接口是 Spring 框架的一个核心组件专注于提供一套灵活且强大的机制来处理应用程序配置属性。它定义了一系列方法用于访问和操纵来自各种源例如属性文件、环境变量、JVM 参数)的属性值。
+ [PropertyResolver](/spring-env/spring-env-propertyResolver/README.md) 接口是 Spring 框架的一个核心组件专注于提供一套灵活且强大的机制来处理应用程序配置属性。它定义了一系列方法用于访问和操纵来自各种源例如属性文件、环境变量、JVM 参数)的属性值。
2. **ConfigurablePropertyResolver**
2. `ConfigurablePropertyResolver` + [ConfigurablePropertyResolver](/spring-env/spring-env-configurablePropertyResolver/README.md) 接口在Spring中关键作用是提供灵活的配置属性解析。它能从多种源读取并转换属性值支持占位符解析以增强配置的动态性。接口提供类型转换确保属性值符合期望格式。它还允许检查属性存在性并处理默认值增加健壮性。
+ [ConfigurablePropertyResolver](/spring-env/spring-env-configurablePropertyResolver/README.md) 接口在Spring中关键作用是提供灵活的配置属性解析。它能从多种源读取并转换属性值支持占位符解析以增强配置的动态性。接口提供类型转换确保属性值符合期望格式。它还允许检查属性存在性并处理默认值增加健壮性。
### 三、基本描述 ### 三、基本描述
@ -158,7 +156,7 @@ public interface Environment extends PropertyResolver {
### 七、最佳实践 ### 七、最佳实践
创建 `StandardEnvironment` 实例来访问系统属性以及处理配置文件profiles并演示了如何获取当前激活的配置文件、默认配置文件以及检查特定配置文件是否激活 使用 Spring 的 `StandardEnvironment` 在 Java 程序中模拟配置文件的激活和属性访问。它设置并展示了激活的配置文件("test"),默认配置文件("dev"),并检查了特定配置文件("test")的激活状态,以及获取并打印了系统的 Java 版本
```java ```java
public class EnvironmentDemo { public class EnvironmentDemo {
@ -190,7 +188,7 @@ public class EnvironmentDemo {
} }
``` ```
运行结果发现, `StandardEnvironment` 如何有效地处理和模拟 Spring 环境中的关键方面,特别是在配置文件管理和属性访问方面 运行结果发现, `StandardEnvironment` 在模拟和管理 Spring 配置文件以及访问系统属性方面的有效性,特别是在不依赖于完整 Spring 应用程序上下文的场景中
```java ```java
java.version: 11 java.version: 11