Spring Boot整合MyBatis配置文件properties和yml问题解决方法

在开发Spring Boot应用程序时,整合MyBatis是一个常见的需求。

配置文件是Spring Boot项目中非常重要的一部分,它们包含了应用程序所需的各种配置信息。

在Spring Boot中,我们可以使用两种不同的配置文件格式,即.properties和.yml。

然而,在使用这两种配置文件格式时,您可能会遇到一些问题。其中之一是当使用.yml格式的配置文件运行项目时,可能会遇到与数据库连接相关的错误,例如Whitelabel Error Page。

配置文件

如下图:先看两个配置文件的书写:

配置文件示意图

在本文中,我们将探讨这个问题,并提供解决方法。

问题描述

当配置文件后缀为.properties时,项目可以正常运行。但是当我们使用.yml格式的配置文件运行时,就会报错,并显示Whitelabel Error Page错误。这个错误通常与数据库连接有关。

报错信息示意图

解决方法

出现Whitelabel Error Page错误的原因是使用最新的JDBC驱动程序(Connector/J 8.0及更高版本)连接MySQL或MariaDB时,默认情况下不允许SSL连接的公钥检索。

为了解决这个问题,我们需要在JDBC URL中显式地指示允许公钥检索,并且还需要确保SSL连接未启用。

以下是如何在JDBC URL中包含这些参数的示例:

jdbc:mysql://localhost:3306/db_name?useSSL=false&allowPublicKeyRetrieval=true

解释一下上述示例中的参数:

  • jdbc:mysql://localhost:3306/db_name:将localhost:3306/db_name替换为您实际使用的数据库主机和数据库名称。

  • useSSL=false:如果启用了SSL连接,则可能不允许进行公钥检索。通过将此参数设置为false,我们禁用SSL连接。

  • allowPublicKeyRetrieval=true:通过将此参数设置为true,我们允许SSL连接的公钥检索。

请注意,尽管此解决方法可以解决Whitelabel Error Page错误,但它可能会引入潜在的安全风险。因此,在生产环境中使用时,请根据具体情况进行评估和决策。

答案总结

使用最新的JDBC驱动程序(Connector/J 8.0及更高版本)连接MySQL或MariaDB时,通常会发生此错误。
这是因为,默认情况下,这些驱动程序不允许SSL连接的公钥检索。

如果想允许这样做,必须在JDBC URL中使用allowPublicKeyRetrieval=true显式地指示它。

但请注意,这可能会带来潜在的安全风险。

下面是如何在JDBC URL中包含此参数的示例:

  1. jdbc:mysql://localhost:3306/db_name?useSSL=false&allowPublicKeyRetrieval=true

  2. 还包括useSSL=false,因为如果启用了SSL,则可能不允许进行公钥检索。

  3. 将localhost:3306/db_name替换为实际的数据库主机和数据库名称文章来源地址https://www.toymoban.com/diary/apps/642.html

到此这篇关于Spring Boot整合MyBatis配置文件properties和yml问题解决方法的文章就介绍到这了,更多相关内容可以在右上角搜索或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

原文地址:https://www.toymoban.com/diary/apps/642.html

如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请联系站长进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用
上一篇 2023年12月29日 17:15
MySQL索引问题解析与优化,如何选择合适的索引进行查询与删除操作
下一篇 2023年12月30日 14:33

相关文章

  • Spring Boot配置文件:properties 与 yml 的竞争

    本文,我们就要来介绍一下Spring Boot中的配置文件 ,在学习了本文之后,可以很清楚地知道如何在Spring Boot中去配置项目的一些系统设置 首先我们先来聊聊什么是配置文件? 配置文件是一种 文本文件 ,通常用于存储程序的参数和设置。它包含了程序运行所需的各种选项和配

    2024年02月04日
    浏览(47)
  • Spring Boot读取yml或者properties配置信息

    编写配置类 开始使用

    2024年02月14日
    浏览(43)
  • 在Idea编辑中,解决Spring Boot之.yaml或.properties配置文件不能自动提示的问题,或者配置Spring Boot的.yaml或.properties文件的自动提示

    我们使用 idea 编辑器创建 spring boot 项目,并添加了 .yaml 或 .properties 配置文件后,在配置相关信息时,一般是需要它自动提示,如下图所示: 然而,我在配置 druid 却没有显示,如下如所示: 那么,这是怎么回事呢? 参考网上的教程,使用如下4个步骤分析。 使用 CTRL + ALT

    2024年02月16日
    浏览(36)
  • Spring Boot多环境指定yml或者properties

    ● application-local.properties ● application.properties ● application-local.yml ● application.yml application.propertes application-local.propertes application.yml application-local.yml 删除properties之后,项目启动 2023-08-23 09:38:29.423 INFO 22896 — [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8081 (http)

    2024年02月11日
    浏览(38)
  • Spring的配置文件,如何配置端口号,,properties,yml获取配置项等方法,外观模式及其优缺点,日志代表的信息

    目录 一、回顾 二.如何配置端口号 配置文件,最重要的目的:解决硬编码问题-代码写死 1.常见配置项 yml获取配置项 多次获取配置项(yml会对我们的参数情况,进行的一定类型转换比如数字10,转换成“10”) null:使用key后面+-(破折号) 空字符串:key后面之间空着,但是不易读

    2024年02月04日
    浏览(44)
  • SpringBoot支持bootstrap.yml/bootstrap.properties配置文件,需要导入spring-cloud-starter-bootstrap依赖

    说明: 在SpringBoot 2.4.x版本之后,对于bootstrap.properties/bootstrap.yaml配置文件的支持,需要导入如下依赖: 注意: 1、导入依赖后,还需要开启 spring.cloud.bootstrap.enabled=true 2、spring cloud starter alibaba nacos config,引用这个配置中心的依赖后,需要使用bootstrap.yml或bootstrap.properties 作

    2024年02月13日
    浏览(40)
  • Java实战:Spring Boot application.yml配置文件详解

    本文将详细介绍Spring Boot application.yml 配置文件的使用和配置项。我们将探讨 application.yml 文件的基本概念,以及如何使用它来配置Spring Boot应用程序的各个方面。此外,我们将通过具体的示例来展示如何配置不同的Spring Boot组件,如数据源、数据库、缓存、邮件服务等。本文适

    2024年04月24日
    浏览(32)
  • Spring Boot整合Mybatis配置多数据源

    在之前的事件管理系统博客中有提到动态的多数据源配置 工作中难免需要做几个工具方便自己偷懒,加上之前的挡板,数据源肯定没法单一配置,所以需要多数据源配置。这里介绍两种配置:动态数据源和固定数据源模式。这两种我在目前的工作的工具开发中都有用到。 M

    2024年01月23日
    浏览(50)
  • 在Spring Boot微服务使用jasypt-spring-boot加密和解密yml配置文件

    记录 :424 场景 :在Spring Boot微服务,使用jasypt-spring-boot加密和解密yml配置文件中的配置信息。 版本 :JDK 1.8,Spring Boot 2.6.3,jasypt-1.9.3,jasypt-spring-boot-2.1.2, jasypt-spring-boot-3.0.5。 开源地址 :https://github.com/ulisesbocchio/jasypt-spring-boot 1.在Spring Boot微服务使用jasypt-spring-boot-3.0.5版本

    2024年02月09日
    浏览(57)
  • 聊聊Spring Boot配置文件:优先级顺序、加载顺序、bootstrap.yml与application.yml区别详解

    在 Spring Boot 中,配置文件的优先级顺序是: application-{profile}.yml ( application-{profile}.properties ) application.yml ( application.properties ) bootstrap.yml ( bootstrap.properties )。其中, {profile} 表示不同的环境配置,如 dev 、 test 、 prod 等。 优先级从高到低,高优先级的配置覆盖低优先级

    2024年01月25日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包