【问题标题】:How to print spring datasource values in SpringBoot 2.0 application如何在 Spring Boot 2.0 应用程序中打印 spring 数据源值
【发布时间】:2019-11-14 03:40:46
【问题描述】:

我想查看 spring 数据源的所有默认/设置值。我正在使用 SpringBoot 2.0。

有人可以告诉我如何在 Java 应用程序中打印这些值。

我问的原因是因为我想知道我添加到 application.yml 的属性是否覆盖了默认值

application.yml 如下

.
.
.
.
        spring:
          datasource:
            url: ${vcap.services.cas-db.credentials.url}
            username: ${vcap.services.cas-db.credentials.username}
            password: ${vcap.services.cas-db.credentials.password}
.
.
.
.

我的 yml 文件中没有提到 hikari connectionTimeout 等参数。如果要打印这些参数的值

【问题讨论】:

  • 您可以使用dataSource.toString() 查看其值。
  • 如何获取我的应用程序的 dataSource 参数
  • 它用于调试目的,将其注入某处并调用toString() 或那里的断点并评估其值。
  • 对不起,我的问题是关于如何注入数据源。我尝试了 Autowired DataSource 但不工作
  • 尝试用@Autowired注入HikariDatasource

标签: java spring-boot tomcat spring-data-jpa


【解决方案1】:

对于 Spring Boot 1.5,试试这个数据源类型:org.apache.tomcat.jdbc.pool.DataSource(我不是 100% 确定)。如果您使用javax.sql.DataSource 定义了自己的数据源,请使用这个。

自 Spring Boot 2.0 起,默认数据源为com.zaxxer.hikari.HikariDataSource

【讨论】:

  • 我为 SpringBoot 1.5 尝试了 @Autowired org.apache.tomcat.jdbc.pool.DataSource 数据源,但出现错误 BeanCreationException: Error Creating bean with name 'dataSource'
  • 工厂方法'dataSource'抛出异常;嵌套异常是 java.lang.IllegalArgumentException: URL must start with 'jdbc'
  • 您错误配置了数据源 url,它始终以 jdbc:.... 开头
  • 我的网址:jdbc:oracle:thin:@//111.111.11.100:1122/ABCD
  • 我可以通过这些参数成功连接数据库
猜你喜欢
  • 2020-01-19
  • 2017-07-04
  • 2018-07-28
  • 2015-07-10
  • 1970-01-01
  • 1970-01-01
  • 2015-11-11
  • 2018-06-29
  • 2016-10-22
相关资源
最近更新 更多