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

修改YAML文件里面的属性值

import com.cnpc.a11wlw.common.util.encrypt.CommonConstant;
import com.cnpc.a11wlw.common.util.encrypt.EncryptUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.config.YamlPropertiesFactoryBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.support.PropertySourcesPlaceholderConfigurer;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.Resource;
import java.util.Properties;

@Configuration
@Slf4j
public class TestYamlConfig {


/**
* 注册 PropertySourcesPlaceholderConfigurer,加载自定义 YAML 文件
*/

@Bean
public static PropertySourcesPlaceholderConfigurer propertySourcesPlaceholderConfigurer() throws Exception {
PropertySourcesPlaceholderConfigurer configurer = new PropertySourcesPlaceholderConfigurer();

// 指定 YAML 文件路径(类路径下的 bootstrap.yml)
Resource resource = new ClassPathResource("bootstrap.yaml");
//加载指定的配置文件
configurer.setLocations(resource);
// 2. 设置 YAML 解析工厂(关键:Spring 需通过 YamlPropertiesFactoryBean 解析 YAML)
YamlPropertiesFactoryBean yamlFactory = new YamlPropertiesFactoryBean();
yamlFactory.setResources(resource);
//将 YAML 配置文件的内容解析为 Java 原生的 Properties 对象
Properties properties = yamlFactory.getObject();
String configPassword = properties.getProperty("spring.cloud.nacos.config.password");
String desConfigPassword = EncryptUtils.resolveContet(CommonConstant.SECRET_KEY, configPassword);
properties.setProperty("spring.cloud.nacos.config.password",desConfigPassword);
String discoveryPassword = properties.getProperty("spring.cloud.nacos.discovery.password");
String desDiscoveryPassword = EncryptUtils.resolveContet(CommonConstant.SECRET_KEY, discoveryPassword);
properties.setProperty("spring.cloud.nacos.discovery.password",desDiscoveryPassword);
//将已解析好的 Properties 键值对集合,直接注入到 PropertySourcesPlaceholderConfigurer 中,
// 作为 Spring 容器的 “配置源” 之一
configurer.setProperties(properties);

// 3. 允许占位符未找到时不报错(可选,根据需求配置)
//configurer.setIgnoreUnresolvablePlaceholders(true);

return configurer;
}

}

http://www.jsqmd.com/news/52326/

相关文章:

  • 【IEEE出版 | EI,Scopus双检索】第五届信号处理与通信技术国际学术会议(SPCT 2025)
  • 2025年提分系统服务哪家强
  • 2025最新玻璃胶工厂实力榜!中国顶级玻璃胶生产企业权威推荐,技术产能双领先助力行业发展
  • 2025年大型活动遮阳蓬制造企业排行榜单
  • 2025 年庭院门厂家最新推荐榜,聚焦企业技术研发实力、产品品质保障与市场口碑深度解析庭院门/铝艺庭院门公司推荐
  • 2025年权威的塑料仿真茅草渠道推荐排行榜单
  • 了解全自动咖啡机服务:咖博士400电话信息
  • 2025年下半年山东破碎机、山东浮选机、跳汰机、洗煤机、洗选煤成套设备厂家推荐榜单TOP5精选指南
  • 2025年齿形钢格板企业排行榜
  • 2025年想象力教育科技有限公司推荐哪家值得信赖
  • WordPress中,后台隐藏掉所有插件的消息广告弹窗
  • 2025最新结构胶/玻璃胶/免钉胶/防霉胶/美缝剂/汽车胶/硅酮胶/环保胶/密封胶/耐候胶生产厂家权威推荐!建筑装饰/汽车密封胶优质供应商TOP5榜单发布
  • 全自动咖啡机售后电话多少?了解专业服务渠道
  • 基于.net6的一款开源的低代码、权限、工作流、动态接口平台-动态数据源篇
  • day03窗口操作函数的使用
  • 2025年铝木复合门窗制造厂家推荐
  • 2025年人造茅草平台口碑排行榜
  • deerflow-continue_to_running_research_team分析
  • 2025年11月农产品配送服务权威推荐榜:覆盖学校、医院、企业、餐厅、酒店及产业园的绿色高效供应链解决方案
  • 2025年信号转换器厂商口碑排行榜
  • 小明网站双登录系统实现——微信授权登录+用户名密码登录完整指南
  • react-router 的原理
  • 2025年气流流行检测仪厂家权威推荐榜单:气流流型检测仪‌/水雾发生器‌/醇类气流流型检测仪源头厂家精选
  • 2025年下半年北京健康服务、康养旅游、全家福计划、朋友圈计划服务商综合推荐指南:专业选择与权威分析
  • 2025年售后完善的大胖瓶前置过滤器排名前十
  • 2025 年 11 月铣床厂家权威推荐榜:立式铣床/摇臂铣床/炮塔铣床/数控铣床/精密铣床/多功能铣床,高精度加工与稳定性能深度解析
  • 2025 年 11 月幕墙精致钢实力厂家权威推荐榜:异形/镀锌/Q345/隐框幕墙精致钢,钢板拼接/直出/富锌底漆/T型幕墙/氟碳喷涂精致钢,专业工艺与耐久品质深度解析
  • 2025 年声测管厂家最新推荐榜,技术实力与市场口碑深度解析,密封抗扭与供货能力兼具的优质品牌检测声测管/桥梁桩基声测管/螺旋声测管/钳压式声测管公司推荐
  • 2025年靠谱的鸿运火锅底料礼盒装口碑排行榜单
  • Apipost和Apifox的收费标准