Le Printemps de Démarrage de la documentation dit que pour utiliser l' @ConfigurationProperties
d'annotation
Vous avez également besoin d'énumérer les propriétés des classes de s'inscrire dans l'
@EnableConfigurationProperties
d'annotation, comme illustré ci-dessous exemple:
et donne ce code:
@Configuration
@EnableConfigurationProperties(AcmeProperties.class)
public class MyConfiguration {
}
Mais dans le très à côté de l'alinéa dit:
Même si la configuration précédente, crée régulièrement bean pour AcmeProperties, nous vous recommandons
@ConfigurationProperties
seulement affaire avec l'environnement et, en particulier, ne pas injecter d'autres haricots à partir du contexte. Cela dit, l'@EnableConfigurationProperties
l'annotation est automatiquement appliqué à votre projet afin que tous existant bean annotée avec @ConfigurationProperties est configuré de l'Environnement
Ce qui suggère que l'inscription d'un @ConfigurationProperties
haricot en vertu d'un @EnableConfigurationProperties
d'annotation n'est pas nécessaire.
Alors, qui est-il? Expérimentalement, j'ai vu que si je annoter un haricot avec @ConfigurationProperties
il obtient des propriétés injecté à elle comme prévu sans avoir besoin de liste dans @EnableConfigurationProperties
, mais si c'est le cas, alors pourquoi la liste de tout ce qui a un @ConfigurationProperties
d'annotation en vertu de l' @EnableConfigurationProperties
, comme c'est indiqué dans la documentation? Faut-il faire une différence?