yml中某些配置不生效的解决方案

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Tair(兼容Redis),内存型 2GB
简介: 起因将springboot项目的properties配置文件改为yml之后redis死活连不上了。找问题springboot的配置文件有两种方式:properties和yml,之前properties时候是没有任何问题的,那么来看一下yml的配置...

起因

将springboot项目的properties配置文件改为yml之后redis死活连不上了。

找问题

springboot的配置文件有两种方式:properties和yml,之前properties时候是没有任何问题的,那么来看一下yml的配置:

spring:
# Redis数据库索引(默认为0)
  redis:
    #数据库索引
    database: 0
    host: 127.0.0.1
    port: 6379
    password: 123456789
    jedis:
      pool:
        #最大连接数
        max-active: 8
        #最大阻塞等待时间(负数表示没限制)
        max-wait: -1ms
        #最大空闲
        max-idle: 8
        #最小空闲
        min-idle: 0
    timeout: 300s
# THYMELEAF (ThymeleafAutoConfiguration)
spring:
  thymeleaf:
    cache: false
    check-template: true
    check-template-location: true
    enabled: true
    encoding: utf-8
    #去掉thymeleaf的严格的模板校验
    mode: LEGACYHTML5
    prefix: classpath:/templates/
    suffix: .html
    excluded-view-names:
spring:
  groovy:
    template:
      cache: false

看起来貌似也没什么问题,bug,debug跟源码代码发现redis配置均未起作用,但是有个神奇的地方,如果把下面的thymeleaf和groovy都删掉,redis配置就起作用了,推测肯定是某个地方冲突了,仔细瞅,上面配置文件中有三个“spring:”,删掉下面两个“spring:”,果然一切ok。

解决

保证不能有重复的一级节点。
也许只是简单的知识点,但是只有踩过,才知道坑深,此坑爬了三个小时,希望小伙伴们不要再爬此坑······
正确配置如下

# THYMELEAF (ThymeleafAutoConfiguration)
spring:
  thymeleaf:
    cache: false
    check-template: true
    check-template-location: true
    enabled: true
    encoding: utf-8
    #去掉thymeleaf的严格的模板校验
    mode: LEGACYHTML5
    prefix: classpath:/templates/
    suffix: .html
    excluded-view-names:
  groovy:
    template:
      cache: false
# Redis数据库索引(默认为0)
  redis:
    #数据库索引
    database: 0
    host: 127.0.0.1
    port: 6379
    password: 123456789
    jedis:
      pool:
        #最大连接数
        max-active: 8
        #最大阻塞等待时间(负数表示没限制)
        max-wait: -1ms
        #最大空闲
        max-idle: 8
        #最小空闲
        min-idle: 0
    timeout: 300s
相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
缓存 前端开发 应用服务中间件
Nginx的原理、常用配置和生产案例应用(二)
Nginx的原理、常用配置和生产案例应用
144 0
|
Java Linux Maven
SpringBoot多环境的yml或properties配置,生产环境和开发环境分离(超详细)
SpringBoot多环境的yml或properties配置,生产环境和开发环境分离(超详细)
349 0
|
1月前
|
Java 数据库连接 数据库
springboot启动配置文件-bootstrap.yml常用基本配置
以上是一些常用的基本配置项,在实际应用中可能会根据需求有所变化。通过合理配置 `bootstrap.yml`文件,可以确保应用程序在启动阶段加载正确的配置,并顺利启动运行。
188 2
|
算法 Java 关系型数据库
Springboot yml配置参数加密 ,jasypt自定义解密器(拓展篇)
Springboot yml配置参数加密 ,jasypt自定义解密器(拓展篇)
1076 0
Springboot yml配置参数加密 ,jasypt自定义解密器(拓展篇)
|
4月前
|
测试技术
Profile Config 多环境不同配置
Profile Config 多环境不同配置
39 0
|
缓存 NoSQL 应用服务中间件
Nginx的原理、常用配置和生产案例应用(一)
Nginx的原理、常用配置和生产案例应用
94 0
|
Java 数据库连接 应用服务中间件
MaBatis核心配置文件
MaBatis核心配置文件
84 0
|
前端开发 Java API
SpringBoot 常用的配置文件 application.yml和 bootstrap.yml的区别
SpringBoot默认支持properties和YAML两种格式的配置文件。前者格式简单,但是只支持键值对。如果需要表达列表,最好使用YAML格式。SpringBoot支持自动加载约定名称的配置文件,例如application.yml。如果是自定义名称的配置文件,就要另找方法了。可惜的是,不像前者有@PropertySource这样方便的加载方式,后者的加载必须借助编码逻辑来实现。
469 0