Spring-boot: définir la valeur par défaut pour les propriétés configurables
J'ai une classe de propriétés ci-dessous dans mon printemps-démarrage du projet.
@Component
@ConfigurationProperties(prefix = "myprefix")
public class MyProperties {
private String property1;
private String property2;
//getter/setter
}
Maintenant, je veux définir la valeur par défaut de certains autres biens, dans mon application.fichier de propriétés pour property1
. Similaire à ce que l'exemple ci-dessous fait à l'aide de @Valeur
@Value("${myprefix.property1:${somepropety}}")
private String property1;
Je sais que nous pouvons assigner valeur statique comme dans l'exemple ci-dessous où "valeur par défaut" est affectée comme valeur par défaut pour property
,
@Component
@ConfigurationProperties(prefix = "myprefix")
public class MyProperties {
private String property1 = "default value"; //if it's static value
private String property2;
//getter/setter
}
Comment faire cela à l'aide de @ConfigurationProperties classe (plutôt typesafe propriétés de configuration) dans le printemps de démarrage où ma valeur par défaut est une autre propriété ?
S'il vous plaît, vue sur la question: http://stackoverflow.com/questions/29220498/why-is-configurationproperties-not-overriding-defaults-in-my-case
OriginalL'auteur Ashvin Kanani | 2015-06-17
Vous devez vous connecter pour publier un commentaire.
Vérifier si propriété1 a été fixé à l'aide d'un @PostContruct dans votre MyProperties classe. Si ce n'était pas, vous pouvez l'affecter à une autre propriété.
J'étais à la recherche sur la façon de définir les valeurs par défaut et c'était à peu près la seule réponse que j'ai pu trouver .. mais wiki il semble que vous pouvez définir une valeur par défaut pour votre propriété comme vous le souhaitez.
OriginalL'auteur jst
Au printemps-boot 1.5.10 (et peut-être plus tôt) de fixer une valeur par défaut fonctionne que par votre manière proposée. Exemple:
La
@Value
par défaut est utilisé uniquement si elle n'est pas remplacée dans votre propre fichier de propriétés.OriginalL'auteur Andy Brown