【发布时间】: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