2 回答

TA貢獻1780條經驗 獲得超5個贊
有很多方法可以做到這一點。
由于您使用的是 Springboot,因此不必像這樣顯式創建數據源(如果這樣做,您將錯過 springboot 的主要功能之一)。如果你用右鍵在properties/yml中聲明參數,Springboot會自動為你配置這個。
搜索spring.datasource......
如果您希望自己執行此操作,那么您可以使用以下命令將properties/yml文件中的所有變量自動裝配到Bean中,?
ConfigurationProperties
然后在bean創建方法中使用該bean作為方法參數。在您的 AppConfig 類中使用
@Value{}
并在您的數據源創建方法中使用它。

TA貢獻1803條經驗 獲得超6個贊
不太確定controllers.xml 中有什么。但我能夠獲取環境變量并使用它。
我將您在 application.yml 中提到的屬性放置在 /src/main/resources 中
我使用 Spring boot-2.1.9 版本使其工作,下面是我的 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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.sample</groupId>
<artifactId>stackoverflow</artifactId>
<version>0.0.1</version>
<packaging>jar</packaging>
<name>stackoverflow</name>
<description>stackoverflow</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.9.RELEASE</version>
<relativePath /> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-data-jpa -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
<repositories>
<repository>
<id>spring-snapshots</id>
<name>Spring Snapshots</name>
<url>https://repo.spring.io/libs-snapshot-local</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
<repository>
<id>ojo-snapshots</id>
<name>OJO Snapshots</name>
<url>https://oss.jfrog.org/artifactory/libs-snapshot</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
</project>
添加回答
舉報