本教程将帮助您解决错误 Failed to auto-configure a DataSource: ‘spring.datasource.url’ is not specified in your Spring Boot applications。
简而言之,如果您在 pom.xml 文件中配置了spring-boot-starter-data-jpa 依赖项并且您尚未在 application.properties 中定义任何数据源 url,则会发生此错误
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
这将导致以下错误:
Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured. Reason: Failed to determine a suitable driver class
让我们看看如何解决这个问题。
首先,如果您在 pom.xml 中错误地添加了 JPA starter,或者如果您将持久性存储从 RDBMS 更改为 MongoDB(例如),只需删除 jpa starter 即可解决问题:
<!-- Remove this
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
第二个选项,如果您打算使用像 MySQL 这样的外部数据库,请确保您的 application.properties 包含完整的配置。还要确保您的 pom.xml 文件具有适用于您的数据库的 JDBC 驱动程序:
spring.datasource.url=jdbc:mysql://localhost/demodb
spring.datasource.username=admin
spring.datasource.password=password
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5Dialect spring.jpa.show-sql=true
spring.jpa.hibernate.ddl-auto=update
还有 pom.xml 文件:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
最后,值得一提的是,使用嵌入式数据库时,无需在 application.properties 中指定连接设置。事实上,Spring Boot 会为其使用一些默认值。只需确保您的 pom.xml 中有 JDBC 内存数据库的依赖项。 H2 数据库示例:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<scope>runtime</scope>
</dependency>
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
内容来源于网络,如有侵权,请联系作者删除!