SpringBoot2.0.3打印默认数据源为 HikariDataSource (null)问题

下面是SpringBoot2.0.3打印默认数据源为HikariDataSource(null)问题的完整攻略。

问题描述

在使用SpringBoot2.0.3版本时,如果使用了默认的数据源,会在启动程序时输出类似于“SpringBoot2.0.3打印默认数据源为 HikariDataSource (null)”的提示信息,其中null在不同的操作系统和环境下可能出现不同的值。这可能会让开发者感到困惑和疑惑,不知道出现这种情况的原因和解决方法。

解决方法

经过研究和测试,发现这个问题可能是由于HikariDataSource的日志输出导致的。 Spring Boot 2.x 默认的数据源使用的是HikariDataSource,所以输出信息中会涉及到HikariDataSource。

而这个 null 就代表着当前的数据库连接池对象没有被初始化或尚未加载相关的配置信息。

解决这个问题的方法有以下几种:

1. 关闭debug日志

在application.properties文件中设置日志输出级别为info,可以关闭debug日志输出,这样就不会看到类似于“HikariDataSource (null)”的提示信息了。

logging.level.root=info
logging.level.org.springframework.web=info

2. 指定正确的数据库连接配置

保证application.properties文件中指定的数据库连接信息是正确的,确保使用正确的配置启动程序。示例:

spring.datasource.url=jdbc:mysql://localhost:3306/mydb
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver

示例

以下是一段在SpringBoot2.0.3中使用默认数据源时出现问题的示例:

@SpringBootApplication
public class DemoApplication {
    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }
}

运行后,会看到以下输出信息:

2018-09-16 17:26:21.417  INFO 14092 --- [           main] com.example.demo.DemoApplication         : Starting DemoApplication on KWT-PC with PID 14092 (C:\Users\kkou\IdeaProjects\demo\target\classes started by kkou in C:\Users\kkou\IdeaProjects\demo)
2018-09-16 17:26:21.420 DEBUG 14092 --- [           main] com.example.demo.DemoApplication         : Running with Spring Boot v2.0.3.RELEASE, Spring v5.0.7.RELEASE
2018-09-16 17:26:21.431  INFO 14092 --- [           main] com.example.demo.DemoApplication         : No active profile set, falling back to default profiles: default
2018-09-16 17:26:21.429 DEBUG 14092 --- [           main] .t.TomcatWebSocketTestServerContainer : Web socket server started on port: 32989
2018-09-16 17:26:21.432 DEBUG 14092 --- [           main] i.n.u.i.PlatformDependent0               : -Dio.netty.noUnsafe:true (io.netty.util.internal.PlatformDependent)
2018-09-16 17:26:21.433 DEBUG 14092 --- [           main] i.n.util.internal.NativeLibraryLoader    : Unable to load the library 'netty-tcnative-windows-x86_64', trying other loading mechanism.
2018-09-16 17:26:21.443  WARN 14092 --- [           main] .c.l.ClasspathLoggingApplicationListener : Logging environment value 'info' cannot be parsed using Logback. Logging levels will be incorrectly parsed.
2018-09-16 17:26:21.446  INFO 14092 --- [           main] com.example.demo.DemoApplication         : Started DemoApplication in 1.739 seconds (JVM running for 2.262)

2018-09-16 17:26:29.450  INFO 14092 --- [extShutdownHook] o.s.s.concurrent.ThreadPoolTaskExecutor  : Shutting down ExecutorService 'applicationTaskExecutor'

其中有一行输出信息是:

2018-09-16 17:26:21.446  INFO 14092 --- [           main] com.example.demo.DemoApplication         : Started DemoApplication in 1.739 seconds (JVM running for 2.262)

2018-09-16 17:26:29.450  INFO 14092 --- [extShutdownHook] o.s.s.concurrent.ThreadPoolTaskExecutor  : Shutting down ExecutorService 'applicationTaskExecutor'

可以看到没有具体的错误信息,只有HikariDataSource(null)的输出。这时可以按照上述方法进行解决。

另一个示例,可以通过指定数据库连接配置来解决这个问题。下面是一个与MySQL数据库连接的示例,配置文件的名称为application.properties:

spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/testdb?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=myPassword
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.druid.initial-size=1
spring.datasource.druid.min-idle=1
spring.datasource.druid.max-active=10
spring.datasource.druid.filters=stat,wall,log4j

其中,我们指定了MySQL数据库的连接配置信息。这样,在启动应用程序时,就不会出现HikariDataSource(null)的输出了。

总结

通过以上方法,我们可以有效地解决SpringBoot2.0.3打印默认数据源为 HikariDataSource(null)问题。如果您遇到了类似的问题,希望以上的解决方法能够帮到您。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SpringBoot2.0.3打印默认数据源为 HikariDataSource (null)问题 - Python技术站

(0)
上一篇 2023年5月20日
下一篇 2023年5月20日

相关文章

  • 瑞吉外卖day1

    项目整体介绍 项目介绍 本项目(瑞吉外卖)是专门为餐饮企业(餐厅、饭店)定制的一款软件产品,包括系统管理后台和移动端应用两部分。其中系统管理后台主要提供给餐饮企业内部员工使用,可以对餐厅的菜品、套餐、订单等进行管理维护。移动端应用心主要提供给消费者使用,可以在线浏览菜品、添加购物车、下单等。本项目共分为3期进行开发:第一期主要实现基本需求,其中移动端应用通过…

    Java 2023年5月6日
    00
  • 如何解决Spring in action @valid验证不生效的问题

    如何解决Spring in action @valid验证不生效的问题 在Spring中使用@Valid注解可以轻松实现参数校验,但是有时候我们会遇到@Valid校验不生效的问题,接下来我将分享如何解决这个问题的完整攻略。 1. 确认是否添加了校验器依赖 在使用@Valid注解校验参数之前,需要确保我们在项目中添加了校验器依赖。常用的校验器依赖是Hibern…

    Java 2023年5月20日
    00
  • SpringBoot整合Mybatis简单实现增删改查

    下面是关于SpringBoot整合Mybatis实现增删改查的详细攻略: 1. 环境搭建 在开始之前,你需要在本地安装好以下软件: JDK 1.8或以上版本 Maven MySQL数据库 在安装好上述软件后,你可以新建一个SpringBoot项目,这里使用的是IntelliJ IDEA,你可以通过IDEA创建SpringBoot项目并选择添加Mybatis …

    Java 2023年5月19日
    00
  • Maven的生命周期与自定义插件实现方法

    Maven是一款流行的Java项目管理工具,旨在统一、规范Java项目的构建和管理。Maven的生命周期是Maven的基本工作单元,包括了一系列阶段,而自定义插件则是扩展了Maven的功能,能够满足我们在项目构建中的特殊需求。下面我们来详细讲解Maven的生命周期和自定义插件实现方法。 Maven的生命周期 Maven的生命周期是Maven的核心,是构建过程…

    Java 2023年5月20日
    00
  • 关于页面刷新,事件重复提交的方法分享

    下面为您详细讲解“关于页面刷新,事件重复提交的方法分享”的完整攻略。 1. 前言 在网站的开发过程中,我们经常会遇到一些问题。其中之一就是重复提交,这种情况的出现是因为用户在提交数据后,可能会因为某些原因选择刷新页面或是重新提交,这会导致数据重复提交或页面出错。为了避免这种问题的发生,我们需要采取一些措施来防止页面刷新和事件重复提交。 2. 防止页面刷新 2…

    Java 2023年6月15日
    00
  • Tab切换组件(选项卡功能)实例代码

    下面是一个针对Tab切换组件(选项卡功能)实例代码的完整攻略,包含两个示例说明: Tab切换组件(选项卡功能)实例代码攻略 什么是Tab切换组件? Tab切换组件是一种常用的网页交互组件,它通常用于显示多个标签内容,用户可以通过点击不同标签来切换不同内容。常见的应用场景包括网页导航、商品分类、数据浏览等。 Tab切换组件的实现原理 Tab切换组件通常采用HT…

    Java 2023年6月15日
    00
  • springMVC配置环境实现文件上传和下载

    SpringMVC配置环境实现文件上传和下载的完整攻略 SpringMVC是一种基于Java的Web框架,它可以帮助我们快速开发Web应用程序。在SpringMVC中,我们可以使用MultipartResolver来实现文件上传,使用ResponseEntity来实现文件下载。本文将介绍如何配置SpringMVC环境,实现文件上传和下载,并提供两个示例说明。…

    Java 2023年5月17日
    00
  • Java的Struts框架报错“NullActionMappingException”的原因与解决办法

    当使用Java的Struts框架时,可能会遇到“NullActionMappingException”错误。这个错误通常由以下原因之一起: 配置错误:如果配置文件中没有正确配置,则可能会出现此错误。在这种情况下,需要检查文件以解决此问题。 ActionMapping对象为空:如果ActionMapping对象为空,则可能会出现此错误。在这种情况下,需要检查A…

    Java 2023年5月5日
    00
合作推广
合作推广
分享本页
返回顶部