springboot 配置文件配置项前缀为0的数字特殊处理方式
目录
- 配置文件配置项前缀为0的数字处理
- 问题
- 解决方法
- 源码类分析
- yml配置文件中写以数字0开头的值
- 记一次springboot踩的坑
配置文件配置项前缀为0的数字处理
问题
spring boot yml配置文件中 ,配置前缀0的数字时,会被特殊处理,如下图配置04100 会当做八进制数处理成2112
解决方法
配置项两边加引号,这时会当做字符串处理
源码类分析
ConstructYamlInt
分析源码可知:
1、以0b开头的数字,会被当做二进制数处理
2、以0x开头的数字,会被当做十六进制数处理
3、以0开头的数字,会被当做八进制数处理
yml配置文件中写以数字0开头的值
记一次springboot踩的坑
因项目需要在springboot yml配置文件中写以0开头的字符串,当写为01001时,通过注解获取到的值是1001,springboot会自动的把0过滤掉。
因此在使用0开头的字符串时,应该写为“01001” 。注意使用英文标点符号!!!
以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
SpringBoot处理请求参数中包含特殊符号
今天写代码遇到了一个问题,请求参数是个路径"D:/ExcelFile",用postman测试时遇到的下图中的报错 java.lang.IllegalArgumentException: Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986 at org.apache.coyote.http11.Http11InputBuffer
-
Spring Boot加密配置文件特殊内容的示例代码详解
有时安全不得不考虑,看看新闻泄漏风波事件就知道了我们在用Spring boot进行开发时,经常要配置很多外置参数ftp.数据库连接信息.支付信息等敏感隐私信息,如下 这不太好,特别是互联网应用,应该用加密的方式比较安全,有点类似一些应用如电商.公安.安检平台.滚动式大屏中奖信息等显示身份证号和手机号都是前几位4109128*********和158*******.那就把图中的明文改造下1. 引入加密包,可选,要是自己实现加解密算法,就不需要引入第三方加解密库 <dependency> &l
-
解决spring boot 配置文件后缀的一个坑
目录 spring boot 配置文件后缀的一个坑 spring boot配置文件支持 properties和yml 从新创建一个demo试试 spring boot 配置文件后缀导致启动失败 错误 错误原因 解决方案 spring boot 配置文件后缀的一个坑 Caused by: org.springframework.boot.autoconfigure.jdbc.DataSourceProperties$DataSourceBeanCreationException: Cannot d
-
详解Springboot配置文件的使用
如果使用IDEA创建Springboot项目,默认会在resource目录下创建application.properties文件,在springboot项目中,也可以使用yml类型的配置文件代替properties文件 一.单个的获取配置文件中的内容 在字段上使用@Value("${配置文件中的key}")的方式获取单个的内容 1.在resource目录下创建application.yml文件,并添加一些配置,在yml文件中,key:后面需要添加一个空格,然后是value值,假设配置如
-
springboot 配置文件配置项前缀为0的数字特殊处理方式
目录 配置文件配置项前缀为0的数字处理 问题 解决方法 源码类分析 yml配置文件中写以数字0开头的值 记一次springboot踩的坑 配置文件配置项前缀为0的数字处理 问题 spring boot yml配置文件中 ,配置前缀0的数字时,会被特殊处理,如下图配置04100 会当做八进制数处理成2112 解决方法 配置项两边加引号,这时会当做字符串处理 源码类分析 ConstructYamlInt 分析源码可知: 1.以0b开头的数字,会被当做二进制数处理 2.以0x开头的数字,会被当做十六进
-
springboot 配置文件里部分配置未生效的解决
springboot 配置文件里部分配置未生效 最近用springboot搭了个项目,上线过段时间就会出现卡死,猜测是数据库连接池的连接被占满,用的连接池是druid,于是给项目加上了一个数据库连接池监控. 代码如下: @Configuration public class DruidConfiguration { /** * * 注册一个StatViewServlet * * @return * */ @Bean public ServletRegistrationBean DruidStat
-
SpringBoot 配置文件加载位置与优先级问题详解
[1]项目内部配置文件 spring boot 启动会扫描以下位置的application.properties或者application.yml文件作为Spring boot的默认配置文件 –file:./config/ –file:./ –classpath:/config/ –classpath:/ 即如下图所示: 以上是按照优先级从高到低(1-4)的顺序,所有位置的文件都会被加载,高优先级配置内容会覆盖低优先级配置内容. SpringBoot会从这四个位置全部加载主配置文件,如果高优先级
-
基于springBoot配置文件properties和yml中数组的写法
目录 springBoot配置文件properties和yml数组写法 这两种方法你选择哪种都可以 .properties和.yml的写法区别 springBoot配置文件properties和yml数组写法 这里介绍一下springBoot中的两种文件配置方式中数组的使用,也就是集合. 以下是我springBoot中使用的 application.properties 文件 其实很好理解,我的configs是一个集合,configs[0].appid代表我配置的第一个对象中的appid的值 m
-
SpringBoot配置文件properties和yml的实现
目录 配置文件的作用 SprintBoot的配置文件(两种): properties yml 读取配置文件的方法: @Value注解读取单个配置项 @ConfigurationProperties读取实体类 properties VS yml 总结 配置文件的作用 通常情况下,一个项目中的一些重要信息都会放在配置文件中,比如:数据库的连接信息.项目的启动端口.一些第三方的秘钥.记录信息的普通日志和异常日志等. SprintBoot的配置文件(两种): Spring Boot的配置文件主要有两种格
-
SpringBoot配置文件中密码属性加密的实现
目录 背景 集成jasypt-spring-boot到项目中 配置文件配置加密与读取 工作原理简析 使用自定义的加密算法 结语 本文主要介绍了SpringBoot配置文件中的明文密码如何加密保存,读取以及对于自定义的加密算法加密的参数如何保存和读取. 背景 为了安全的需要,一些重要的信息比如数据库密码不能明文保存在配置文件中,需要进行加密之后再保存.SpringBoot可以使用jasypt-spring-boot这个组件来为配置属性提供加密的支持. 集成jasypt-spring-boot到项目
-
springboot配置文件抽离 git管理统 配置中心详解
springboot配置文件抽离,便于服务器读取对应配置文件,避免项目频繁更改配置文件,影响项目的调试与发布 1.创建统一配置中心项目conifg 1)pom配置依赖 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.6.RELEASE</ver
-
SpringBoot配置文件中数据库密码加密两种方案(推荐)
SpringBoot项目经常将连接数据库的密码明文放在配置文件里,安全性就比较低一些,尤其在一些企业对安全性要求很高,因此我们就考虑如何对密码进行加密. 介绍两种加密方式:jasypt 可加密配置文件中所有属性值; druid 自带了加解密,可对数据库密码进行加密. jasypt 加解密 jasypt 是一个简单易用的加解密Java库,可以快速集成到 Spring 项目中.可以快速集成到 Spring Boot 项目中,并提供了自动配置,使用非常简单. 步骤如下: 1)引入maven依赖 <de
-
Springboot配置文件内容加密代码实例
这篇文章主要介绍了Springboot配置文件内容加密代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 使用的是jasypt-spring-boot-starter,具体介绍可以参考 https://gitee.com/yangziyi2017/Jasypt-Spring-Boot 引入依赖 <dependency> <groupId>com.github.ulisesbocchio</groupId> <
随机推荐
- Git ssh 配置及使用方法
- 深入讲解Ruby中Block代码快的用法
- Extjs ajax同步请求时post方式参数发送方式
- PHP服务端SESSION管理工具提供下载
- python使用cStringIO实现临时内存文件访问的方法
- asp快速开发方法之数据操作实例代码第1/3页
- JavaScript判断textarea值是否为空并给出相应提示
- Ajax PHP 边学边练 之三 数据库
- PHP的5个安全措施小结
- mysql启动提示mysql.host 不存在,启动失败的解决方法
- Jquery 实现checkbox全选方法
- jQuery dateRangePicker插件使用方法详解
- Java创建内部类对象实例详解
- 取得input元素中部分选中(selected)的值
- Spring MVC过滤器-登录过滤的代码实现
- typecho插件编写教程(六):调用接口
- Spring boot 集成Dubbox的方法示例
- vue中使用heatmapjs的示例代码(结合百度地图)
- Docker多阶段镜像构建的实现
- JS Math对象与Math方法实例小结