对接一个第三方应用做调试时,想打印出所有的配置,调试我这边做的配置是否有效,摸索了一番后找到了一个解决方案,废话不多说,直接上代码。

image.png

package com.marioplus;import org.springframework.boot.CommandLineRunner;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;import org.springframework.core.env.ConfigurableEnvironment;import org.springframework.core.env.EnumerablePropertySource;import org.springframework.core.env.MutablePropertySources;import javax.annotation.Resource;import java.util.Arrays;import java.util.Collections;import java.util.Comparator;import java.util.Map;import java.util.function.Function;import java.util.stream.Collectors;import java.util.stream.StreamSupport;@SpringBootApplicationpublic class App extends SpringBootServletInitializer implements CommandLineRunner {    @Resource    private ConfigurableEnvironment springEnv;    public static void main(String[] args) {        SpringApplication.run(App.class, args);    }    @Override    public void run(String... args) throws Exception {        MutablePropertySources propSrcs = springEnv.getPropertySources();        // 获取所有配置        Map<String, String> props = StreamSupport.stream(propSrcs.spliterator(), false)                .filter(ps -> ps instanceof EnumerablePropertySource)                .map(ps -> ((EnumerablePropertySource) ps).getPropertyNames())                .flatMap(Arrays::stream)                .distinct()                .collect(Collectors.toMap(Function.identity(), springEnv::getProperty));                // key 和 value 之间的最小间隙        int interval = 20;        int max = props.keySet().stream()                .max(Comparator.comparingInt(String::length))                .orElse("")                .length();                // 打印        props.keySet().stream()                .sorted()                .forEach(k -> {                    int i = max - k.length() + interval;                    String join = String.join("", Collections.nCopies(i, " "));                    System.out.println(String.format("%s%s%s", k, join, props.get(k)));                });    }}

欢迎关注我的公众号,和我一起,每天进步一点点

所有配置_Springboot 打印所有配置相关推荐

  1. Ice飞冰页面配置菜单配置日志打印环境配置《六》

    页面配置 框架为页面级组件提供了一些特殊的配置项,让页面级组件可以快速拥有一些能力. 页面滚动# scrollToTop:用于渲染页面前是否需要将当前页面滚动至顶部,这个配置用于嵌套路由的应用场景. ...

  2. SAP中手工配置Delivery打印message

    当我们在打印Delivery送货单时,如果出现下面提示,说明该Delivery单没有做过相应的打印message配置(或者该Delivery单已经被打印输出过),从而无法打印. 此时我们需要手工给该D ...

  3. boost::filesystem模块实现打印boost配置信息的测试程序

    boost::filesystem模块实现打印boost配置信息的测试程序 实现功能 C++实现代码 实现功能 boost::filesystem模块实现打印boost配置信息的测试程序 C++实现代 ...

  4. 02-MyBatis配置SQL打印

    MyBatis 配置SQL打印 在 SqlMappingConfig.xml 中配置以下代码: <!--配置sql打印--> <settings><setting nam ...

  5. springboot日志配输出路径配置_SpringBoot日志配置详解

    前言 ​记录应用系统曰志主要有三个原因 记录操作轨迹.监控系统运行状况.回溯系统故障.记录操作行为及操作轨迹数据,可以数据化地分析用户偏好,有助于优化业务逻辑,为用户提供个性化的服务.例如,通过 ac ...

  6. 【MyBatis笔记】02-MyBatis配置SQL打印

    MyBatis 配置SQL打印 在 SqlMappingConfig.xml 中配置以下代码: <!--配置sql打印--> <settings><setting nam ...

  7. mybatis开启log_mybatis使用spring-druid数据源连接池配置log4j打印sql语句以及开启监控平台...

    杂七杂的杂 作为程序员,开发工程中,一套利于测试或者监控的工具很重要,mybatis默认没有提供log4j的打印sql语句的配置. 这对于开发rest服务,提供接口的开发者而言,是在很不好做,再加上m ...

  8. 打印机无法打印,配置端口显示错误?

    打印机无法打印,配置端口显示错误,请求的资源在使用中,其他电脑都能正常打印,唯独这一台电脑无法打印. 打开"运行",输入"services.msc",找到&qu ...

  9. RH358管理打印机和打印文件--配置和管理打印机

    RH358管理打印机和打印文件–配置和管理打印机 来到最鸡肋的章节.打印机上的使用肯定是windows上秒杀了,所以这功能应该毫不犹豫地在WIN上玩耍. RH358专栏地址:https://blog. ...

最新文章

  1. 【PL/SQL】--导出oracle单表数据--drp204
  2. iebook 发布到网站 独家秘诀
  3. photoshop cs3反应慢的原因
  4. 主机和虚拟机ping不通的原因
  5. PropertyGrid控件 分类(Category)及属性(Property)排序
  6. 修复100年前北京晚清影像,和马斯克谈两亿的项目,AI技术的底层逻辑是什么?...
  7. 视觉SLAM十四讲学习笔记-第六讲-非线性优化的非线性最小二乘问题
  8. Oracle truncate和delete的区别
  9. redis客户端mac_推荐一款神仙颜值的Redis客户端工具
  10. pyinstaller系列之十一:exe 反编译到 源码 尝试
  11. hsf 架构_HSF源码剖析
  12. 解决npm install xxx -g问题
  13. iView 日期时间选择器设置开始时间至结束时间限制
  14. 鸿蒙系统反应很快吗,EMUI11对比未成形的鸿蒙系统反应速度:速度差距较大,但细节赢了...
  15. CEF3 C++接口实现自定义浏览器[simple version]
  16. 机房收费系统(一)可行性研究报告
  17. SpringBoot @Vaild注解拦截不生效
  18. 二维码的生成原理是什么
  19. 常用传感器信号测量汇总
  20. 拓扑学 计算机领域,吴国平: 拓扑学到底有多重要? 在数学中占据多高的地位?...

热门文章

  1. Java单例模式(Singleton)的五种实现
  2. 使用SAP Analytics Cloud显示全球新冠肺炎确诊人数和发展趋势的预测
  3. 给JavaScript的单个对象定义属性和属性的元数据
  4. UI Component in CRM WebUI and Hybris
  5. SAP ABAP SQL的execution plan和cache
  6. sap.ushell.Container.getService(URLParsing) click tile using Ke's user
  7. SAP S4HANA的product搜索的动态SQL语句的拼接原理
  8. SAP JAM tag Cloud
  9. Product Archive相关的标准function module
  10. Object overview 页面点击Edit button白屏问题