【问题标题】:couldn't not recognize spring.datasource.driverClassName in spring boot [solved]在 Spring Boot 中无法识别 spring.datasource.driverClassName [已解决]
【发布时间】:2021-07-26 10:56:16
【问题描述】:

我正在尝试在 application.yml 中为 spring boot 2.4.5 中的 maven 项目配置数据源。

我想在application.yml 中添加一些配置,例如:

(以下是properties格式,不过IDEA会帮我转成yml格式,所以请忽略这里的格式,主要问题是spring boot 2.4.5根本找不到这些属性)

spring.datasource.url=XXX
spring.datasource.driverClassName=XXX

我的 pom.xml 看起来像:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.4.5</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.imooc</groupId>
    <artifactId>sell</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>sell</name>
    <description>Demo project for Spring Boot</description>
    <properties>
        <java.version>1.8</java.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>2.4.5</version>
            </plugin>
        </plugins>
    </build>

</project>

我还导入了所有这些依赖项。

问题是当我尝试在application.yml 中添加数据源配置时,找不到它。我唯一能找到的数据源是与 jta 相关的数据源(请参阅我在此处粘贴的快照):

如您所见,IntelliJ 根本找不到 spring.datasource.* 配置。它只能找到 jta 相关的数据源配置。谁能告诉我我在这里缺少什么? spring boot 2.4.5 中数据源的正确配置是什么?

【问题讨论】:

  • 您正在将 Java 属性与 YAML 语法混合使用。
  • driveClassName != driverClassName
  • IDEA 可以在application.yml 中为我自动将 java 属性更改为 YAML 语法。我认为这里正确的配置会导致spring.datasource.XXX的正确提示。作为我粘贴的快照,它没有正确配置。
  • 谢谢。忽略driveClassName这个东西,打错了,我刚刚修改了。

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


【解决方案1】:

在我将 spring boot 版本从 2.4.5 更改为 2.1.1 之后,现在我可以配置 spring.datasource 相关属性了。我仍然不知道为什么它在spring boot 2.4.5中无法工作,但是谁可能在spring boot 2.4.5中遇到同样的问题,您可以尝试更改版本。

【讨论】:

    猜你喜欢
    • 2021-09-07
    • 1970-01-01
    • 2015-09-25
    • 2019-02-26
    • 1970-01-01
    • 1970-01-01
    • 2017-10-04
    • 1970-01-01
    相关资源
    最近更新 更多