spring-data-jpa Sping Boot 应用程序时,用Spring-boot-starter-data-jpa和spring-boot-starter-test使得Spring不查找应用程序属性

ulydmbyx  于 2022-11-10  发布在  Spring
关注(0)|答案(2)|浏览(201)

我创建了一个带有Sping Boot 的小应用程序,它使用Spring Data 访问数据库(mySql):

  • Spring Boot起动器父母:2.4.2
  • Spring启动器腹板:2.4.2
  • Spring引导启动器数据JPA:2.4.2
  • mysql-连接器-java:8.0.22
  • Spring启动器试验:2.4.2
  • org.junit.jupiter:5.7.0
  • Junit-木星发动机:5.7.0

我已经在application.propertiessrc/main/resources中配置了我的www.example.com,并且我已经配置了url、用户名、密码、驱动程序等属性,如下所示:

spring.datasource.url=jdbc:mysql://localhost:3306/BBDD
spring.datasource.username=XXX
spring.datasource.password=XXXX
spring.datasource.driver=com.mysql.jdbc.Driver
spring.jpa.show-sql=true
spring.jpa.properties.hibernate.dialect:org.hibernate.dialect.MySQL5Dialect

spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl

我有一个接口,用于访问我的数据库:

@Repository
public interface ArticleRepository extends PagingAndSortingRepository<ArticuloEntity, Integer> {

}

我也定义了我的实体。
问题在于,当我启动Web应用程序时,我收到错误,因为它没有从www.example.com读取用于配置数据源的参数application.properties:
说明:
无法配置数据源:未指定'url'属性,无法配置嵌入式数据源。
原因:无法确定合适的驱动程序类
动作:
请考虑以下事项:如果您需要嵌入式数据库(H2,HSQL或Derby),请将其放在类路径中。如果您有要从特定概要文件加载的数据库设置,则可能需要激活它(当前没有活动的概要文件)。
如果我删除了spring-boot-starter-test和junit的依赖项,应用程序加载正常,并且可以访问数据库。但是如果我添加了添加junits的依赖项,它就不会读取我的application.properties文件,并且我会得到前面的错误。
如何使用junits配置应用程序,并使用www.example.com文件阅读应用程序的配置application.properties?
先谢谢你!

piv4azn7

piv4azn71#

您的测试/application.properties也需要配置。请尝试将其添加到测试应用程序属性文件中

spring.datasource.url=jdbc:h2:mem:BBDD;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE

如果你还不支持h2的话就把这个给你的pom

<dependency>
        <groupId>com.h2database</groupId>
        <artifactId>h2</artifactId>
        <scope>test</scope>
    </dependency>
ckocjqey

ckocjqey2#

请查看您的application.properties
变更

spring.datasource.driver=com.mysql.jdbc.Driver

spring.datasource.driver-class-name=com.mysql.jdbc.Driver

相关问题