当前位置: 首页 > news >正文

包牛牛网站怎么做wordpress 评论 倒序

包牛牛网站怎么做,wordpress 评论 倒序,装修免费设计,sem投放《Spring Boot 源码学习系列》 初识 ConfigurableEnvironment 一、引言二、主要内容2.1 Environment2.1.1 配置文件#xff08;profiles#xff09;2.1.2 属性#xff08;properties#xff09; 2.2 ConfigurablePropertyResolver2.2.1 属性类型转换配置2.2.2 占位符配置2.…《Spring Boot 源码学习系列》 初识 ConfigurableEnvironment 一、引言二、主要内容2.1 Environment2.1.1 配置文件profiles2.1.2 属性properties 2.2 ConfigurablePropertyResolver2.2.1 属性类型转换配置2.2.2 占位符配置2.2.3 值分隔符配置2.2.4 必需属性验证配置 2.3 ConfigurableEnvironment2.3.1 接口方法2.3.2 具体实现 三、总结 一、引言 上篇博文Huazie 带大家深入分析下 ApplicationArguments 接口及其默认实现。在初始化完 ApplicationArguments 之后Spring Boot 就开始通过 prepareEnvironment 方法对 ConfigurableEnvironment 对象进行初始化操作。在介绍 ConfigurableEnvironment 的初始化之前我们有必要先认识一下 ConfigurableEnvironment 接口。 二、主要内容 注意 以下涉及 Spring Boot 源码 均来自版本 2.7.9其他版本有所出入可自行查看源码。 下面贴出 ConfigurableEnvironment 的源码 public interface ConfigurableEnvironment extends Environment, ConfigurablePropertyResolver {void setActiveProfiles(String... profiles);void addActiveProfile(String profile);void setDefaultProfiles(String... profiles);MutablePropertySources getPropertySources();MapString, Object getSystemProperties();MapString, Object getSystemEnvironment();void merge(ConfigurableEnvironment parent); }从上述源码可以看出 ConfigurableEnvironment 接口继承了 Environment 和 ConfigurablePropertyResolver 接口它们其实最终都继承自 PropertyResolver 接口。 2.1 Environment org.springframework.core.env.Environment 表示当前应用程序在其中运行的环境。它模拟了应用程序环境的两个关键方面 2.1.1 配置文件profiles Profile 是一个命名的、逻辑上的 bean 定义组这些定义只有在给定的配置文件处于活动状态时才会被注册到容器中。通过 Environment 可以确定哪些配置文件如果有当前是活动的以及哪些配置文件如果有应该默认是活动的。可以使用 Profile 注解来指定 bean 应该在哪个配置文件下被注册。 2.1.2 属性properties 属性有各种来源如属性文件、JVM 系统属性、系统环境变量、JNDI、servlet 上下文参数、临时的 Properties 对象、Map 等。Environment 对象为用户提供了一个方便的服务接口用于配置属性源并从这些源中解析属性。通过 Environment可以方便地访问和解析这些属性而无需直接操作这些源。 此外Environment 接口还继承了 PropertyResolver 接口【用于根据任何底层源解析属性的接口】这意味着它还提供了与属性访问相关的功能。 2.2 ConfigurablePropertyResolver org.springframework.core.env.ConfigurablePropertyResolver 也继承了 PropertyResolver 接口并在其基础上增加了更多的配置选项 2.2.1 属性类型转换配置 ConfigurablePropertyResolver 提供了基于 org.springframework.core.convert.ConversionService 的属性类型转换功能。ConversionService 是 Spring 中用于类型转换的接口它允许将一种类型的对象转换为另一种类型的对象。 与之关联的方法如下 getConversionService() : 获取当前用于类型转换的 ConfigurableConversionService 实例。setConversionService(ConfigurableConversionService conversionService): 设置用于类型转换的 ConfigurableConversionService 实例。这允许用户自定义类型转换的逻辑以满足特定的应用程序需求。 2.2.2 占位符配置 ConfigurablePropertyResolver 允许开发者配置占位符的前缀和后缀。默认情况下前缀是 ${后缀是 }。占位符的值本身也可以包含其他占位符形成嵌套占位符ConfigurablePropertyResolver 支持嵌套占位符的解析。 与之相关的方法如下 setPlaceholderPrefix(String placeholderPrefix) : 设置占位符的前缀。在解析属性时这些前缀将被用来识别需要替换的占位符。setPlaceholderSuffix(String placeholderSuffix) : 设置占位符的后缀。与前缀一起它们定义了占位符的完整格式。setIgnoreUnresolvableNestedPlaceholders(boolean ignoreUnresolvableNestedPlaceholders) : 设置是否忽略无法解析的嵌套占位符。如果设置为 true则当遇到无法解析的嵌套占位符时解析器将不会抛出异常而是继续执行。 2.2.3 值分隔符配置 值分隔符是指在解析属性值时用于分隔占位符与其关联默认值的字符设置。 比如在配置文件中有这样的属性值${propertyName:defaultValue}。 在这里 propertyName 是占位符而 defaultValue 是在 propertyName 无法解析时使用的默认值。那显然在上述示例中: 就是 值分隔符。 与之相关的方法如下 setValueSeparator(Nullable String valueSeparator) : 设置值分隔符。在某些情况下属性值可能包含多个值这些值由分隔符分隔。此方法允许用户指定分隔符。 2.2.4 必需属性验证配置 必需属性验证配置是 Spring 框架中用于确保应用程序配置中包含某些关键属性的一种机制。 与之相关的方法如下 setRequiredProperties(String... requiredProperties): 设置必需的属性。这些属性必须在解析过程中存在否则验证将失败。validateRequiredProperties() throws MissingRequiredPropertiesException : 验证是否所有必需的属性都已设置。如果任何必需属性缺失此方法将抛出 MissingRequiredPropertiesException 异常。 2.3 ConfigurableEnvironment 了解了 Environment 和 ConfigurablePropertyResolver我们再来看看 ConfigurableEnvironment 。 2.3.1 接口方法 ConfigurableEnvironment 代表了一个可配置的环境其定义了如下的方法 setActiveProfiles(String... profiles) 设置当前激活的 Profile 组集合。在Spring 中Profile 允许用户根据特定的环境如开发、测试、生产加载不同的配置。通过传递一个或多个 Profile 名称作为参数你可以激活这些 Profile。addActiveProfile(String profile) 向当前激活的 Profile 组集合中添加一个 Profile 组。setDefaultProfiles(String... profiles) 设置默认激活的 Profile 组集合。激活的 Profile 组集合为空时会默认实用默认的 Profile 组集合。getPropertySources() 返回当前环境的 MutablePropertySources 对象。PropertySources 是一个包含多个 PropertySource 的列表每个PropertySource 都可以提供属性。MutablePropertySources 允许你添加、替换或删除 PropertySource。getSystemProperties() 返回 Java 系统属性的映射。这些属性是 JVM 启动时通过 -D 参数或在代码中使用 System.setProperty(key, value) 进行设置。getSystemEnvironment() 返回操作系统环境变量的映射。这些变量通常包含关于系统配置和运行时的信息。merge(ConfigurableEnvironment parent) 将父 ConfigurableEnvironment 的属性源合并到当前环境中。合并时父环境的属性源将添加到当前环境的属性源列表的开头从而允许它们覆盖当前环境的任何同名属性。 2.3.2 具体实现 org.springframework.core.env.AbstractEnvironment 是一个抽象类实现了 ConfigurableEnvironment 接口为环境配置如属性源和 Profile 文件管理提供了基本的支持。 org.springframework.core.env.StandardEnvironment 继承自 AbstractEnvironment应用于非 Web 环境。它是 Spring 中默认的环境配置类负责读取系统属性、环境变量以及配置文件中的配置信息并将其封装在一个 PropertySources 对象中供 Spring 应用程序使用。 org.springframework.web.context.support.StandardServletEnvironment 继承自 StandardEnvironment它是基于 Servlet 的 Web 应用程序要使用的 Environment 实现。所有基于 Servlet 的 Web 相关的 ApplicationContext 类都会默认初始化一个实例。提供 ServletConfig、ServletContext 和基于 JNDI 的 PropertySource 实例。在初始化过程中会根据 ServletContext 和 ServletConfig 的可用性来初始化和配置属性源。通过 customizePropertySources() 方法可以自定义属性源的添加顺序和配置方式。 org.springframework.mock.env.MockEnvironment 继承自 AbstractEnvironment它用于测试目的可以模拟环境变量和系统属性的值。 三、总结 本篇博文 Huazie 同大家一起了解了 ConfigurableEnvironment 接口和其父接口这些对于后续理解 ConfigurableEnvironment 的初始化操作至关重要。接下来的博文将会继续聚焦 Spring Boot 启动运行阶段敬请期待
http://www.hkea.cn/news/14551665/

相关文章:

  • 极客网站建设网址大全wordpress
  • 登陆网站取消备案永久网站域名注册
  • 洮南市城乡和住房建设局网站动画设计和动漫设计
  • 网站制作素材开个网络公司要多少钱
  • 开封市建设银行网站深圳专业做网站和seo的公司
  • 加强纪检监察网站建设wordpress主题错位
  • 修水县城乡建设局网站企业网站排名运营
  • 网站后台有哪些模块cdn如何做网站备案
  • 安徽建站管理系统开发昆明网站建设seo公司哪家好
  • 宁波网站建设i sp.net做游戏 做网站
  • 源码交易平台网站源码新企业建网站
  • 如何选择大连网站建设外贸都是在哪些网站做
  • 为什么要进行网站备案网站建设 功能需求
  • 做电商网站用什么框架通讯设备东莞网站建设
  • 1688成品网站源码下载天元建设集团有限公司公章图片
  • 南宁网站设计推广wordpress菜单种类
  • 网页与网站设计实验报告数据表和网站建设的关系
  • 如何不用域名也可以做网站wordpress搬家500错误
  • 中小网站 架构wordpress 有点尴尬诶
  • 免费的网站湖南网站建设效果
  • 现在哪些网站自己做装修广州专门做网站
  • 做网站网上怎么挂公告wordpress收不到
  • 免费网站最新域名网站添加内容
  • 做网站公司 深圳信科营销者网站
  • 如何远程连接 网站 数据库崇左做网站公司
  • 静态网站设计方案怎样查询江西省城乡建设厅网站
  • 网站文章快速被收录做淘宝客网站骗钱
  • 科技设计网站有哪些做网站需要哪类商标
  • 网站制作公司怎样帮客户做优化营销策略是什么意思
  • 华为公司网站建设目标南通网站seo服务