Spring Boot无法从DataSouce(MySQL)确定JDBC URL

时间:2018-07-17 10:57:06

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

我试图将MySQL数据库加载到Spring Boot应用程序中,但是当我启动该应用程序时,却收到了这些错误消息:

2018-07-17 13:46:31.426 WARN 2120 --- [ restartedMain] o.s.b.a.orm.jpa.DatabaseLookup : Unable to determine jdbc url from datasource

org.springframework.jdbc.support.MetaDataAccessException: Could not get Connection for extracting meta-data; nested exception is org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection: 'url' not set

尽管我已经在application.properties中设置了url属性:spring.datasource.url=jdbc:mysql://localhost:3306/mydatabase

有人可以帮我解决这个问题吗?

编辑:这是我的主班:

package com.randomsoft.checkoff;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;

@SpringBootApplication
@EnableAutoConfiguration(exclude = {DataSourceAutoConfiguration.class})
public class CheckoffApplication {

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

4 个答案:

答案 0 :(得分:2)

只需尝试将此行添加到配置类中

@SpringBootApplication
@EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class})

答案 1 :(得分:2)

您可以尝试删除     @EnableAutoConfiguration(排除= {DataSourceAutoConfiguration.class})

还尝试添加以下所有jdbc属性,

spring.datasource.url=jdbc:mysql://localhost:3306/mydatabase?verifyServerCertificate=false&useSSL=false&requireSSL=false
spring.datasource.username=<username>
spring.datasource.password=<password>
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.jpa.database-platform=org.hibernate.dialect.MySQL5Dialect
spring.jpa.hibernate.ddl-auto=update

答案 2 :(得分:0)

您应命名属性文件:application.propertiesapplication.yml

答案 3 :(得分:0)

大多数答案都建议排除 DataSourceAutoConfiguration,我同意这种方法,但他们没有说明的是,除了通过注释 @EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class}) 的编程方式之外,我们还有以下列方式通过属性设置它的选项,这在注释应用程序类不是一个选项时很有用。

spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration