我的問題似乎很簡單,但我找不到實現它的方法。Spring引導application.properties重用值
考慮以下情況:
prop1 = value1
prop2 = value2
prop3 = value3
prop4 = value2 (Value same as prop2)
prop5 = value3 (Value same as prop3)
如何再利用價值2和3(實際上,這是數據庫特定屬性),我希望用戶只提供一次,並不再重複了。
謝謝。
案例1: 我會闡述我的情況如下: 我有兩個屬性文件 - application.properties
和quartz.properties
。
application.properties:
prop1 = value1
prop2 = value2
prop3 = value3
quartz.properties
prop4 = value2 (Value same as prop2)
prop5 = value3 (Value same as prop3)
請注意:我不能合併這兩個屬性文件的內容,它們是有原因的分開放置。
在正常情況下,我期望$ {}能夠正常工作,但當我猜測這些屬性位於兩個不同的文件時,它不起作用。
案例2:[簡單場景] 我試過只使用一個application.properties。但即使如此,我無法在相同的屬性文件中重複使用屬性值。
我的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.abc</groupId>
<artifactId>abc</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>xyz</name>
<description>xyz</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.2.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>com.oracle</groupId>
<artifactId>ojdbc6</artifactId>
<version>11.2.0.4</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-dbcp2</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jersey</artifactId>
</dependency>
<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>
<!-- Quartz dependencies start -->
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz</artifactId>
<version>2.2.1</version>
</dependency>
<!-- Includes spring's support classes for quartz -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
</dependency>
<!-- Quartz dependencies End -->
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
不確定是否理解正確。 'prop4 = $ {prop2}'也許 – john
謝謝約翰。我也認爲這可行,但它不會:( –
然後你可以在任何需要它的地方使用$ {prop2},爲什麼要使用這個prop4? – john