Ma question semble assez simple mais je n'ai pas trouvé de moyen de l'implémenter.Spring boot application.properties réutiliser les valeurs
Prenons le cas suivant:
prop1 = value1
prop2 = value2
prop3 = value3
prop4 = value2 (Value same as prop2)
prop5 = value3 (Value same as prop3)
Comment réutiliser la valeur 2 et 3 (ce sont en fait des propriétés spécifiques de la base de données) que je veux que l'utilisateur de lui fournir une seule fois et non répéter.
Merci.
Cas 1: J'élaborerait mon cas comme ci-dessous: je dépose deux propriétés - application.properties
et quartz.properties
.
application.properties:
prop1 = value1
prop2 = value2
prop3 = value3
quartz.properties
prop4 = value2 (Value same as prop2)
prop5 = value3 (Value same as prop3)
S'il vous plaît noter: Je ne peux pas fusionner le contenu des deux fichiers de propriétés et ils sont mis séparément pour une raison.
Dans un scénario normal, je m'attendais à ce que $ {} fonctionne, mais cela ne fonctionne pas lorsque les propriétés sont dans deux fichiers différents, je suppose.
Cas 2: [Scénario simple] J'ai essayé d'utiliser une seule application.properties. Mais même alors, je ne suis pas en mesure de réutiliser les valeurs de propriété dans le même fichier de propriétés.
Mon 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>
Je ne sais pas si vous avez bien compris. 'prop4 = $ {prop2}' peut-être – john
Merci John. Je pensais aussi que cela fonctionnerait mais ce n'est pas le cas :( –
Ensuite, vous pourriez juste utiliser $ {prop2} partout où vous en avez besoin, pourquoi avoir ce prop4 du tout? – john