尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

修改YAML文件里面的属性值

修改YAML文件里面的属性值
📅 发布时间:2026/6/21 16:43:05

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;
}

}

相关新闻

  • 2025最新玻璃胶工厂实力榜!中国顶级玻璃胶生产企业权威推荐,技术产能双领先助力行业发展
  • 2025年大型活动遮阳蓬制造企业排行榜单
  • 2025 年庭院门厂家最新推荐榜,聚焦企业技术研发实力、产品品质保障与市场口碑深度解析庭院门/铝艺庭院门公司推荐

最新新闻

  • 基于技能图与强化学习的人形机器人敏捷技能切换系统设计与实现
  • 突破传统RAG局限:LangChain+通义千问融合动态路由与检索融合的工业级智能客服架构
  • UVa 553 Simply Proportion
  • 终极指南:如何免费突破网盘下载限制,获取真实直链地址
  • 2026昆明白蚁消杀哪家好?15年本土2大权威白蚁防治公司推荐(金盾虫控/青蚁卫士) - 我叫一
  • 2026年重庆混凝土预制构件厂家推荐:水篦子/路沿石/井盖/排水管/防撞墩等优质品牌全解析 - 品牌发掘

日新闻

  • 2026速览惠州叛逆青少年学校前十大排名名单出炉 - 武汉中职最新信息发布
  • 2026上饶白蚁消杀哪家好?15年本土2大权威白蚁防治公司推荐(金盾虫控/青蚁卫士) - 我叫一
  • 天龙八部单机版终极数据管理工具:5个技巧快速掌握游戏数据编辑

周新闻

  • Visual C++运行库修复终极指南:5分钟快速解决Windows软件启动错误
  • 手把手教你构建统计局地区经济数据爬虫:从环境搭建到数据持久化全指南
  • 2026多Agent深度解析:用AI团队替代单一模型,四种架构实战落地

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号