Spring 工具建模:PropertyResolver 属性解析工具基本功能建模

本文深入探讨Spring中PropertyResolver接口的功能,包括从底层属性源获取属性和解析${...}

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

概述

Spring 使用接口PropertyResolver抽象了从底层来源获取属性的基本功能,和解析${...}这样的占位符的功能。

至于底层属性源具体是什么,如何抽象,是一个属性源还是聚合了多个属性源,这些都由实现子类在实现层面考虑。

该接口位于org.springframework.core.env

源码解析

该接口定义的功能如下 :

  • boolean containsProperty(String key) – 是否包含某个属性
  • String getProperty(String key) – 获取指定属性的值(字符串类型),不存在的话返回null
  • String getProperty(String key, String defaultValue) – 获取指定属性的值(字符串类型),不存在的话返回defaultValue
  • T getProperty(String key, Class<T> targetType) – 获取指定属性的值(指定类型),不存在的话返回null
  • T getProperty(String key, Class<T> targetType,T defaultValue) – 获取指定属性的值(指定类型),不存在的话返回defaultValue
  • String getRequiredProperty(String key) – 获取指定属性的值(字符串类型),不存在的话抛出异常IllegalStateException
  • String getRequiredProperty(String key, Class<T> targetType) – 获取指定属性的值(指定类型),不存在的话抛出异常IllegalStateException
  • String resolvePlaceholders(String text) – 解析text中的${...}占位符,忽略不能解析的占位符
  • String resolveRequiredPlaceholders(String text) – 解析text中的${...}占位符,如果占位符不能被解析则抛出异常IllegalArgumentException

参考文章

Spring 工具建模 – PropertySourcesPropertyResolver 从PropertySources解析属性

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值