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日

相关文章

  • 基于JAVA中的四种JSON解析方式详解

    基于Java中的四种JSON解析方式详解 JSON是一种轻量级的数据交换格式,在web开发中被广泛使用,同时Java中也提供了多种JSON解析方式。本篇文章将详细介绍Java中的四种JSON解析方式,并提供示例说明。 四种JSON解析方式 Java中提供的四种JSON解析方式包括: org.json:官方内置的JSON解析库 GSON:谷歌开源的JSON解析…

    Java 2023年5月26日
    00
  • java实现可逆加密算法

    要实现可逆加密算法,我们可以通过以下步骤来完成: 步骤一:选择加密算法 首先,我们需要选择一种可逆的加密算法。常见的可逆加密算法有DES、AES、RSA等。这里我们选择AES算法作为例子。 步骤二:确定加密参数 在选择了加密算法之后,我们需要确定加密参数。对于AES算法来说,有三个参数需要确定:密钥长度、加密模式和填充方式。常见的密钥长度为128位、192位…

    Java 2023年5月19日
    00
  • jsp 实现的简易mvc模式示例

    以下是“JSP实现的简易MVC模式示例”的完整攻略: 1. MVC模式简介 MVC(Model-View-Controller)是一种软件设计模式,将一个应用程序分为三种组件:数据模型(Model)、用户界面(View)和控制逻辑(Controller)。MVC模式的主要目的是实现应用程序的逻辑分离,以便更容易地维护和扩展应用程序。 2. 实现MVC模式的技…

    Java 2023年6月15日
    00
  • 详解springboot springsecuroty中的注销和权限控制问题

    详解 Spring Boot Spring Security 中的注销和权限控制问题 前言 Spring Boot Spring Security 是一个非常常用的技术组合,它们可以提供很好的安全性,和身份认证、授权、限制等重要功能,但是在实际开发中可能会遇到注销和权限控制相关的问题,需要我们了解并深入研究。 正文 注销功能 注销功能是常见的需求,用户在退出…

    Java 2023年6月3日
    00
  • java的Hibernate框架报错“TransactionRequiredException”的原因和解决方法

    当使用Java的Hibernate框架时,可能会遇到“TransactionRequiredException”错误。这个错误通常是由于以下原因之一引起的: 事务管理器配置错误:如果您的事务管理器配置错误,则可能会出现此错误。在这种情况下,需要检查您的事务管理器配置以解决此问题。 事务注解缺失:如果您的事务注解缺失,则可能会出现此错误。在这种情况下,需要添加…

    Java 2023年5月4日
    00
  • Java_Spring之基于注解的 AOP 配置

    下面是关于Java Spring基于注解的AOP配置的完整攻略: 什么是基于注解的AOP配置 AOP,全称为Aspect Oriented Programming,即面向切面编程,是一种编程思想,用于解决通用业务逻辑和系统模块化的问题。在Java Spring框架中,AOP属于其核心模块,提供了一些注解,用于声明切点和对应的切面,从而实现对代码的拦截和增强。…

    Java 2023年5月31日
    00
  • Spring Boot日志的打印与持久化详细解析

    Spring Boot日志的打印与持久化详细解析 在Spring Boot应用中,日志是开发和调试的重要工具。通过合理的配置,我们可以实现日志的打印和持久化,方便问题的排查和解决。本文将详细介绍Spring Boot日志的打印与持久化,并包含两条示例。 Spring Boot日志的分类 Spring Boot日志分为如下五个级别: TRACE:跟踪级别,最低…

    Java 2023年5月19日
    00
  • Java实体映射工具MapStruct使用方法详解

    首先介绍一下Java实体映射工具MapStruct。MapStruct是一个自动化映射框架,特别适用于基于POJO(Plain Old Java Object)构建的简单Java对象之间的映射。它不仅提供协助在映射过程中自定义转换器的方式,而且通过使用编译时产生的代码来提高性能。 下面是使用MapStruct的详细攻略: 1. 添加依赖 首先,需要在项目的p…

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