当前位置: 首页 > 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.rkmt.cn/news/62267.html

相关文章:

  • 2025最新玻璃胶工厂实力榜!中国顶级玻璃胶生产企业权威推荐,技术产能双领先助力行业发展
  • 2025年大型活动遮阳蓬制造企业排行榜单
  • 2025 年庭院门厂家最新推荐榜,聚焦企业技术研发实力、产品品质保障与市场口碑深度解析庭院门/铝艺庭院门公司推荐
  • 2025年权威的塑料仿真茅草渠道推荐排行榜单
  • 2025年想象力教育科技有限公司推荐哪家值得信赖
  • 2025年铝木复合门窗制造厂家推荐
  • 2025年人造茅草平台口碑排行榜
  • 2025年信号转换器厂商口碑排行榜
  • 2025年气流流行检测仪厂家权威推荐榜单:气流流型检测仪‌/水雾发生器‌/醇类气流流型检测仪源头厂家精选
  • 2025年下半年北京健康服务、康养旅游、全家福计划、朋友圈计划服务商综合推荐指南:专业选择与权威分析
  • 2025 年 11 月幕墙精致钢实力厂家权威推荐榜:异形/镀锌/Q345/隐框幕墙精致钢,钢板拼接/直出/富锌底漆/T型幕墙/氟碳喷涂精致钢,专业工艺与耐久品质深度解析
  • 2025年靠谱的鸿运火锅底料礼盒装口碑排行榜单
  • Apipost 对比 Apifox
  • 2025 年 11 月预埋件厂家权威推荐榜:幕墙/热镀锌/后置/槽式/冲压/焊接/套芯/钢结构/混凝土预埋件,专业工艺与稳固性能深度解析
  • 国际商标购买方案指南:2025 优选 TOP5 平台测评 + 避坑攻略 + 流程拆解
  • 2025年重型数控机床优质厂家口碑推荐榜
  • 2025年同城搬家公司推荐排行
  • 2025 最新楼承板生产厂家推荐排行榜,开口 / 闭口 / 钢结构 / 免浇筑型产品优质品牌权威甄选
  • 2025年便捷的背调服务哪家权威
  • 为什么程序员成了单身最多的群体?深度分析理工男的婚恋困境与突破口
  • 2025灯具不锈钢绳网制造厂家口碑排行榜
  • 2025年长三角地区干磨片靠谱生产商推荐,专业干磨片生产厂家
  • 一个人的旅行
  • 2025实木地板公司哪里有卖
  • 2025年下半年轴连轴承品牌综合推荐与选购指南
  • 2025年中央空调生产厂家哪家权威
  • 2025冷库聚氨酯保温生产厂家推荐榜
  • 2025年下半年江苏水泵轴承供应商推荐终极指南
  • 2025年干法脱硫十大靠谱厂家推荐,老牌/大型/优质工厂全解
  • 2025智能伸缩雨棚厂商推荐榜单