几乎所有架构都有一个自己的
Environment类,因为所有架构都需要支持多环境。
多环境的好处在于在不修改代码的基础上,只需要通过切换环境,就可以实现定制化功能。
- 不同的环境,不同的配置。
比如:SpringBoot 应用可以根据环境不同,读取相应的 application-${profile}.properties 文件
- 不同的环境,不同的实现逻辑。
比如:SpringBoot 应用可以通过 @Profile 注解声明 Bean 的可用环境,这样应用启动时,会根据环境不同加载不同的 Bean
索引
Environment
Spring 也有一个 Environment 类,并为其赋能了两个基本功能
- 管理当前环境
- 根据当前环境加载相应的配置
Environment 提供了三个方法,都是管理环境用的,加载配置的方法则全部在其父接口中定义
public interface Environment extends PropertyResolver {
// 获取当前环境
String[] getActiveProfiles

本文深入探讨Spring框架的Environment接口,包括ConfigurableEnvironment、AbstractEnvironment、StandardEnvironment和PropertySourcesPropertyResolver。Environment用于管理多环境配置,如根据spring.profiles.active加载不同配置。PropertySourcesPropertyResolver作为属性解析器,负责属性的获取、占位符解析和类型转换。StandardServletEnvironment为Web环境增加了ServletConfig、ServletContext和JNDI的支持。
订阅专栏 解锁全文
2343

被折叠的 条评论
为什么被折叠?



