一、前言
在最近项目开发中,有一个需求,针对自定义注解中字符串属性值的设置需要支持使用”${xx}
“占位符获取在SpringBoot框架配置文件中配置项对应的属性值,而且支持多个”${xx}
“标识的配置任意拼接。
二、功能实现
从实现思路上说还是很简单的,可以通过正则表达式,匹配出包含“${xx}
”的字符串,然后将占位符"${}
“去掉,用配置项从spring容器环境变量中获取对应属性值替换即可。
1. 参考实现代码
定义获取Spring Boot配置项内容工具类:
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.env.Environment;
import org.springframework.stereotype.Component;
import org.springframework.util.StringUtils;
import javax.annotation.PostConstruct;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@Component