2016-11-04 1 views
0

Je souhaite valider certaines propriétés dans mon application de démarrage au printemps. Dans mes application.properties j'ai quelque chose comme ceci:Validateur Application.properties

log.path= 
logging.config=${log.path}log4j2.properties 

Quand je commence ma demande Je veux trouver toutes les propriétés vides et dans lequel un jet d'exception un message il y aura des informations sur toutes les propriétés manquantes. Le printemps donne-t-il ce genre de mécanisme?

Répondre

0

Vous pouvez créer un bean et lier les propriétés de application.properties aux champs de bean en ajoutant @ConfigurationProperties annotation. Vous pouvez même use JSR-303 validators like @NotNull and @NotEmpty for automatic validation.

Si vous avez trop de propriétés et que vous ne souhaitez pas créer de champs pour chacune de ces propriétés, vous devez probablement ouvrir et analyser le fichier application.properties par vous-même. (Mais si l'application utilise toutes ces propriétés, alors pourquoi ne pas créer un bean pour les valider au même endroit?)

+0

C'est une façon de faire mais malheureusement j'ai besoin de les écrire explicitement. Y a-t-il moyen d'itérateur sur toutes les propriétés et quand il y aura une propriété vide alors il y aura une exception lancée? J'ai besoin de le faire avant par exemple, logger essayera de trouver son chemin log4j2 ou avant que la base de données essaye de se connecter. Juste avant que je veux faire une liste de propriétés vides, les écrire dans Exception et sans explicite les écrire en classe – Kapitalny