将 Spring-Boot-Starter-Web 与 ObjectDB 结合使用
Using Spring-Boot-Starter-Web in combination with ObjectDB
我正在 Spring-Boot 中使用 ObjectDB 实现一个程序。为了实际使用 ObjectDB,我遵循了 this approach,它运行良好。
但是,一旦我想使用 `spring-boot-starter-web``,就会出现以下错误:
dataSource or dataSourceClassName or jdbcUrl is required. at
com.zaxxer.hikari.HikariConfig.validate
我一直在摆弄属性文件中的参数 jdbc-url
,正如许多帖子中提到的那样。试图排除 Hikari 因为可能 ObjectDB 使用他自己的连接池机制。但是没有任何结果。
关于如何解决此错误的任何想法?
我使用的代码与 link 中的代码完全相同。我在 pom 中添加了 Spring-Actuator:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
你试过这个(在 pom.xml
吗?):
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>com.objectdb</groupId>
<artifactId>objectdb</artifactId>
<version>2.8.4</version>
</dependency>
并且不要忘记在 application.properties
中添加数据库连接:
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.username=mydbuser
spring.datasource.password=mydbpass
spring.datasource.url=jdbc:....
有关详细信息,请参阅 https://www.baeldung.com/the-persistence-layer-with-spring-and-jpa。
在某些情况下,使用 JPA 的框架需要指定 JDBC 连接详细信息,包括 JDBC 驱动程序,然后将其传递给 JPA 实现并由其用于访问数据库。 ObjectDB 是一个 JPA 实现,它不访问外部数据库,因此不需要或不使用 JDBC 驱动程序。
正如问题评论中所讨论的,一个简单的解决方法是指定一个虚拟 JDBC 驱动程序,它将被传递给 ObjectDB 然后被忽略。它看起来确实很奇怪,但这是在 ObjectDB 实现自己的 JDBC 驱动程序之前要走的路,或者相关框架在请求 JDBC 驱动程序方面变得更加灵活。
我正在 Spring-Boot 中使用 ObjectDB 实现一个程序。为了实际使用 ObjectDB,我遵循了 this approach,它运行良好。
但是,一旦我想使用 `spring-boot-starter-web``,就会出现以下错误:
dataSource or dataSourceClassName or jdbcUrl is required. at com.zaxxer.hikari.HikariConfig.validate
我一直在摆弄属性文件中的参数 jdbc-url
,正如许多帖子中提到的那样。试图排除 Hikari 因为可能 ObjectDB 使用他自己的连接池机制。但是没有任何结果。
关于如何解决此错误的任何想法?
我使用的代码与 link 中的代码完全相同。我在 pom 中添加了 Spring-Actuator:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
你试过这个(在 pom.xml
吗?):
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>com.objectdb</groupId>
<artifactId>objectdb</artifactId>
<version>2.8.4</version>
</dependency>
并且不要忘记在 application.properties
中添加数据库连接:
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.username=mydbuser
spring.datasource.password=mydbpass
spring.datasource.url=jdbc:....
有关详细信息,请参阅 https://www.baeldung.com/the-persistence-layer-with-spring-and-jpa。
在某些情况下,使用 JPA 的框架需要指定 JDBC 连接详细信息,包括 JDBC 驱动程序,然后将其传递给 JPA 实现并由其用于访问数据库。 ObjectDB 是一个 JPA 实现,它不访问外部数据库,因此不需要或不使用 JDBC 驱动程序。
正如问题评论中所讨论的,一个简单的解决方法是指定一个虚拟 JDBC 驱动程序,它将被传递给 ObjectDB 然后被忽略。它看起来确实很奇怪,但这是在 ObjectDB 实现自己的 JDBC 驱动程序之前要走的路,或者相关框架在请求 JDBC 驱动程序方面变得更加灵活。