所有配置_Springboot 打印所有配置
对接一个第三方应用做调试时,想打印出所有的配置,调试我这边做的配置是否有效,摸索了一番后找到了一个解决方案,废话不多说,直接上代码。
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 打印所有配置相关推荐
- Ice飞冰页面配置菜单配置日志打印环境配置《六》
页面配置 框架为页面级组件提供了一些特殊的配置项,让页面级组件可以快速拥有一些能力. 页面滚动# scrollToTop:用于渲染页面前是否需要将当前页面滚动至顶部,这个配置用于嵌套路由的应用场景. ...
- SAP中手工配置Delivery打印message
当我们在打印Delivery送货单时,如果出现下面提示,说明该Delivery单没有做过相应的打印message配置(或者该Delivery单已经被打印输出过),从而无法打印. 此时我们需要手工给该D ...
- boost::filesystem模块实现打印boost配置信息的测试程序
boost::filesystem模块实现打印boost配置信息的测试程序 实现功能 C++实现代码 实现功能 boost::filesystem模块实现打印boost配置信息的测试程序 C++实现代 ...
- 02-MyBatis配置SQL打印
MyBatis 配置SQL打印 在 SqlMappingConfig.xml 中配置以下代码: <!--配置sql打印--> <settings><setting nam ...
- springboot日志配输出路径配置_SpringBoot日志配置详解
前言 记录应用系统曰志主要有三个原因 记录操作轨迹.监控系统运行状况.回溯系统故障.记录操作行为及操作轨迹数据,可以数据化地分析用户偏好,有助于优化业务逻辑,为用户提供个性化的服务.例如,通过 ac ...
- 【MyBatis笔记】02-MyBatis配置SQL打印
MyBatis 配置SQL打印 在 SqlMappingConfig.xml 中配置以下代码: <!--配置sql打印--> <settings><setting nam ...
- mybatis开启log_mybatis使用spring-druid数据源连接池配置log4j打印sql语句以及开启监控平台...
杂七杂的杂 作为程序员,开发工程中,一套利于测试或者监控的工具很重要,mybatis默认没有提供log4j的打印sql语句的配置. 这对于开发rest服务,提供接口的开发者而言,是在很不好做,再加上m ...
- 打印机无法打印,配置端口显示错误?
打印机无法打印,配置端口显示错误,请求的资源在使用中,其他电脑都能正常打印,唯独这一台电脑无法打印. 打开"运行",输入"services.msc",找到&qu ...
- RH358管理打印机和打印文件--配置和管理打印机
RH358管理打印机和打印文件–配置和管理打印机 来到最鸡肋的章节.打印机上的使用肯定是windows上秒杀了,所以这功能应该毫不犹豫地在WIN上玩耍. RH358专栏地址:https://blog. ...
最新文章
- 【PL/SQL】--导出oracle单表数据--drp204
- iebook 发布到网站 独家秘诀
- photoshop cs3反应慢的原因
- 主机和虚拟机ping不通的原因
- PropertyGrid控件 分类(Category)及属性(Property)排序
- 修复100年前北京晚清影像,和马斯克谈两亿的项目,AI技术的底层逻辑是什么?...
- 视觉SLAM十四讲学习笔记-第六讲-非线性优化的非线性最小二乘问题
- Oracle truncate和delete的区别
- redis客户端mac_推荐一款神仙颜值的Redis客户端工具
- pyinstaller系列之十一:exe 反编译到 源码 尝试
- hsf 架构_HSF源码剖析
- 解决npm install xxx -g问题
- iView 日期时间选择器设置开始时间至结束时间限制
- 鸿蒙系统反应很快吗,EMUI11对比未成形的鸿蒙系统反应速度:速度差距较大,但细节赢了...
- CEF3 C++接口实现自定义浏览器[simple version]
- 机房收费系统(一)可行性研究报告
- SpringBoot @Vaild注解拦截不生效
- 二维码的生成原理是什么
- 常用传感器信号测量汇总
- 拓扑学 计算机领域,吴国平: 拓扑学到底有多重要? 在数学中占据多高的地位?...
热门文章
- Java单例模式(Singleton)的五种实现
- 使用SAP Analytics Cloud显示全球新冠肺炎确诊人数和发展趋势的预测
- 给JavaScript的单个对象定义属性和属性的元数据
- UI Component in CRM WebUI and Hybris
- SAP ABAP SQL的execution plan和cache
- sap.ushell.Container.getService(URLParsing) click tile using Ke's user
- SAP S4HANA的product搜索的动态SQL语句的拼接原理
- SAP JAM tag Cloud
- Product Archive相关的标准function module
- Object overview 页面点击Edit button白屏问题