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

简介: 起因将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
目录
相关文章
|
Java 数据库连接 mybatis
mybatis报错:The alias 'xxx' is already mapped to the value '*.*.xxx'
The alias 'xxx' is already mapped to the value '*.*.xxx'
18475 0
|
设计模式 安全 Java
单例模式:饿汉模式、懒汉模式
单例模式:饿汉模式、懒汉模式
363 0
|
存储 Kubernetes 调度
k8s常见的排错指南Node,svc,Pod等以及K8s网络不通问题
k8s常见的排错指南Node,svc,Pod等以及K8s网络不通问题
5209 1
|
12月前
|
运维 监控 安全
CentOS 7系统 OpenSSH和OpenSSL版本升级指南
本文详细介绍如何在CentOS 7系统上升级OpenSSH和OpenSSL至最新稳定版本(OpenSSH 9.6p1和OpenSSL 1.1.1w),解决多个已知安全漏洞(如CVE-2023-51767等)。涵盖环境说明、现存漏洞、升级准备、具体步骤及故障排查,确保服务器安全。建议先在测试环境验证,再应用于生产环境。
3952 7
|
Java Apache Maven
【异常解决】Handler dispatch failed;nested exception is java.lang.NoClassDefFoundError: org/apache/common
【异常解决】Handler dispatch failed;nested exception is java.lang.NoClassDefFoundError: org/apache/common
10138 0
|
前端开发 JavaScript
使用 JavaScript 获取 URL 参数的详细指南
【2月更文挑战第26天】
14968 2
使用 JavaScript 获取 URL 参数的详细指南
|
存储 Kubernetes Cloud Native
【云原生】k8s新版本与Docker和Containerd的关联关系
【云原生】k8s新版本与Docker和Containerd的关联关系
2186 0
|
NoSQL 数据可视化 Linux
一文教会你如何在Linux系统中使用Docker安装Redis 、以及如何使用可视化工具连接【详细过程+图解】
这篇文章详细介绍了如何在Linux系统中使用Docker安装Redis,并提供了使用可视化工具连接Redis的步骤。内容包括安装Redis镜像、创建外部配置文件、映射文件和端口、启动和测试Redis实例、配置数据持久化存储,以及使用可视化工具连接和操作Redis数据库的过程。
|
算法 测试技术 开发者
测试驱动开发(TDD)实战:从理论到实践
【5月更文挑战第8天】TDD实战指南:先测试后开发,确保代码质量与可维护性。核心思想是编写测试用例→实现代码→验证→重构。优点包括提高代码质量、促进设计思考和增强可测试性。实战步骤包括编写独立、明确的测试用例,遵循最小可用原则编写代码,运行测试并分析失败原因,以及在验证通过后进行代码重构与优化。通过TDD,开发者能提升编程技能和项目成功率。
1036 3
|
存储 NoSQL 编译器
『 C++类与对象 』多态之单继承与多继承的虚函数表
『 C++类与对象 』多态之单继承与多继承的虚函数表