sping boot/cloud配置文件 on 读取为true
sping boot/cloud配置文件 on 读取为true
原文地址:https://blog.csdn.net/hb9176070/article/details/82749771
最近在写spring cloud 项目时需要配置开关,按照以往写项目的习惯,就在配置文件命名了key 之后写了 on.
项目启动之后,神奇的事情出现了,项目读取到的值居然变成了 true!这让我大吃一惊,问了下身边的资深同事,同事说:这怎么可能,你不扯淡呢,你又搞了什么鬼,on怎么可能变成true??! 没办法,只能自己摸索.
首先核对了配置项和读取的代码,发现没问题,再对spingCloud的相关源码不断的debug进去看看哪里出了问题,但是找了半天,也没发现有问题.
最后没辙了,在on上加上单引号,变成’on’,代码读取出来的终于读到了正确的"on"!
问题是解决了,但是对于出现这样的原因还是不明白,本人做了大胆的猜测:spingCloud底层在读取配置文件时如果读取到了非字符串 on 则会转换成true,那么相应的,如果配置了非字符串 off,应该会读取成false , on 和off 对于spingCloud是两个特殊的单词,会转义.
本着这个猜测,做了如下测试:
配置项:
2.测试代码以及debug结果
由上面的配置项代码可以看出: on 和 off 确实被读取成了 true和false, 带引号的’on’和’off’才会读取成 on 和off ,而普通的字符不带上单引号仍然读出是相应的字符串.
总结: on和off带有开关的常识,spingCloud底层将这两个单词进行了转义,在我们实在需要使用这两个单词作为配置项但是又不想读取成true或者false的时候,最好带上单引号.
sping boot/cloud配置文件 on 读取为true的更多相关文章
- spring boot: 从配置文件中读取数据的常用方法(spring boot 2.3.4)
一,从配置文件中读取数据有哪些方法? 通常有3种用法: 1,直接使用value注解引用得到配置项的值 2, 封装到Component类中再调用 3, 用Environment类从代码中直接访问 生 ...
- 精进 Spring Boot 03:Spring Boot 的配置文件和配置管理,以及用三种方式读取配置文件
精进 Spring Boot 03:Spring Boot 的配置文件和配置管理,以及用三种方式读取配置文件 内容简介:本文介绍 Spring Boot 的配置文件和配置管理,以及介绍了三种读取配置文 ...
- spring boot 项目从配置文件中读取maven 的pom.xml 文件标签的内容。
需求: 将pom.xml 文件中的版本号读取到配置文件并打印到日志中. 第一步: 在pom.xml 中添加以下标签. 第二步: 将version 标签的值读取到配置文件中 这里使用 @@ 而不是 ...
- Sping Boot入门到实战之实战篇(一):实现自定义Spring Boot Starter——阿里云消息队列服务Starter
在 Sping Boot入门到实战之入门篇(四):Spring Boot自动化配置 这篇中,我们知道Spring Boot自动化配置的实现,主要由如下几部分完成: @EnableAutoConfigu ...
- spring boot / cloud (三) 集成springfox-swagger2构建在线API文档
spring boot / cloud (三) 集成springfox-swagger2构建在线API文档 前言 不能同步更新API文档会有什么问题? 理想情况下,为所开发的服务编写接口文档,能提高与 ...
- spring boot / cloud (六) 开启CORS跨域访问
spring boot / cloud (六) 开启CORS跨域访问 前言 什么是CORS? Cross-origin resource sharing(跨域资源共享),是一个W3C标准,它允许你向一 ...
- spring boot / cloud (十五) 分布式调度中心进阶
spring boot / cloud (十五) 分布式调度中心进阶 在<spring boot / cloud (十) 使用quartz搭建调度中心>这篇文章中介绍了如何在spring ...
- spring boot / cloud (十六) 分布式ID生成服务
spring boot / cloud (十六) 分布式ID生成服务 在几乎所有的分布式系统或者采用了分库/分表设计的系统中,几乎都会需要生成数据的唯一标识ID的需求, 常规做法,是使用数据库中的自动 ...
- spring boot / cloud (十七) 快速搭建注册中心和配置中心
spring boot / cloud (十七) 快速搭建注册中心和配置中心 本文将使用spring cloud的eureka和config server来搭建. 然后搭建的模式,有很多种,本文主要聊 ...
随机推荐
- 写一个eggjs权限验证中间件
关于中间件 https://eggjs.org/zh-cn/basics/middleware.html 官方文档说的很清楚了,不再叙述. 我们要达到怎么样一个效果? 用户没有登录不能访问一些特定的页 ...
- .Net Core3 新特性整理
.net core 3实现了.net 标准2.1. 1.生成可执行文件 以前版本需要dotnet run运行项目,.net core 3支持直接生成目标平台的可执行文件.比如windows就是exe了 ...
- Java NIO Buffer详解
一.ByteBuffer类型化的put与get方法 /** * ByteBuffer类型化的put与get方法 */ public class NioTest5 { public static voi ...
- Centos7下把python 2.7升级到python 3.6(升级过程遇到的一些相关问题)
Centos 7 默认安装的Python 的版本是2.7的,现在不少人用的是3.x上的版本,故而需要了解下如何从Python2.7升级到Python 3.6. 在虚拟机安装时,网络不通会先遇到一个错误 ...
- [linux]查看进程占用内存
1.top -p 进程ID PID:进程的ID USER:进程所有者 PR:进程的优先级别,越小越优先被执行 NInice:值 VIRT:进程占用的虚拟内存 RES:进程占用的物理内存 SHR:进程使 ...
- xmind 8 update8(pro)最新版专业版破解教程(附破解补丁以及注册机,全网独家可用)
title: "xmind 8 update8(pro)最新版专业版破解教程(附破解补丁以及注册机,全网独家可用)" categories: soft tags: soft aut ...
- Java一行代码
1.整数格式化成0X 的形式字符串 String hour=String.format("%02d", txtWaringTime.getCurrentHour()); Strin ...
- 运维笔记--Linux查找指定目录下包含某字符串的文件
待整理: 参考:http://blog.sina.com.cn/s/blog_53d496960102xg5c.html 例: find /home/logstash/ -type f | xargs ...
- 2的幂和按位与&——效率
以前学生时代,只是完成功能就行,进入公司之后,由于产品的特殊性,需要非常考虑效率,发现有以下几个策略(该文不定时更新): hash%length==hash&(length-1)的前提是len ...
- Redis 分布式锁的正确实现方式(Java版)[转]
本文来源: https://www.cnblogs.com/linjiqin/p/8003838.html 前言 分布式锁一般有三种实现方式: 数据库乐观锁: 基于Redis的分布式锁: 基于ZooK ...