Printemps: @NestedConfigurationProperty Liste dans @ConfigurationProperties
Salut, je suis en train d'essayer d'obtenir la configuration suivante et en cours d'exécution.
@ConfigurationProperties(prefix="my")
public class Config {
@NestedConfigurationProperty
private List<ServerConfiguration> servers = new ArrayList<ServerConfiguration>();
public List<ServerConfiguration> getServers() {
return this.servers;
}
}
@ConfigurationProperties(prefix = "server")
public class ServerConfiguration {
private String name;
private String description;
}
Donc, je veux avoir plusieurs serveur configs imbriquée dans les objets.
J'ai essayé de définir les propriétés suivantes avec les propriétés du fichier. Je vois que la liste est ajouté par les éléments, mais les membres du serveur ne sont jamais mis (nom, description)
my.servers[0].name=test
my.servers[0].server.name=test
my.servers[1].name=test
my.servers[1].server.name=test
Vous devez vous connecter pour publier un commentaire.
ServerConfiguration
@ConfigurationProperties
ServerConfiguration.description
et de la propriétémy.servers[X].server.name=test
D'étendre ce Maciej déjà dit.
@ConfigurationProperties
doit être définie uniquement sur racine objets (qui sont les objets qui sont responsables de gérer un préfixe. Il n'est pas nécessaire de annoté objets imbriqués avec elle.@NestedConfigurationProperty
est seulement utilisé par les méta-données du générateur (pour indiquer qu'une propriété n'est pas une valeur unique, mais quelque chose que nous devrions étudier la possibilité de générer des méta-données. Dans le cas de laList
il n'y a pas une quantité finie de propriétés afin que les méta-données devront s'arrêter à la liste.En tout cas, vous avez besoin d'un getter et un setter pour chaque singulier de la propriété. Nous ne faisons pas de liaison de champ et nous avons besoin d'un public de lecture pour éviter d'exposer inutilement propriétés dans les méta-données.