J'ai généré une application Web Spring Boot à l'aide de Spring Initializr, à l'aide du moteur de modèle Tomcat + Thymeleaf intégré.
J'ai mis cette propriété dans mon application.properties
[email protected]
J'utilise Spring Tool Suite Version: 3.8.4.RELEASE comme environnement de développement, mais j'ai reçu cet avertissement dans l'éditeur 'default.to.address' is an unknown property.
Dois-je mettre cette propriété dans un autre fichier de propriétés?
C'est parce qu'il est ouvert par l'éditeur de propriétés STS qui valide entre autres les propriétés. Il n'y a aucun mal à l'avoir dans le fichier application.properties, vous pouvez même ajouter vos propres métadonnées pour la propriété.
http://docs.spring.io/spring-boot/docs/current/reference/html/configuration-metadata.html
J'avais également les mêmes avertissements dans application.properties et je cherchais un moyen de m'en débarrasser. La recherche d'une réponse m'a conduit ici. Je poste donc ma réponse; cela peut être utile.
Il n'y a aucun mal à utiliser vos propriétés personnalisées dans application.properties. Il y a deux façons de s'en débarrasser -
Comme mentionné dans l'une des réponses, vous pouvez ajouter les métadonnées pour les propriétés personnalisées (manuellement ou à l'aide de la correction rapide dans STS).
Si vous ne voulez pas ajouter de métadonnées, alors dans STS, allez dans Fenêtre -> préférences -> ressort -> démarrage -> éditeur de propriétés. Ici, sélectionnez 'propriété inconnue' comme ignorer. Par défaut, c'est un avertissement.
J'utilise cette méthode pour ajouter des propriétés dans le fichier applciation.properties.
Ajoutez votre nouvelle propriété dans applciation.properties: [email protected] Survolez la nouvelle propriété, vous verrez une "info-bulle quickfixes" qui vous propose d'ajouter la nouvelle propriété: Créer des métadonnées pour 'default' .Adresser'.
Ensuite, parcourez la classe et le champ auxquels vous souhaitez lier la propriété et ajoutez cette annotation:
@Value("${default.to.address}")
private String address;
Maintenant, votre champ d'objet doit être évalué avec la valeur de la propriété.
Vous devez essayer d'ajouter ce type de valeurs dans Environment, à la place application.properties, car vous avez la possibilité de mettre à jour les valeurs à tout moment sans effectuer de modifications de compilation/redéploiement de modifications. application.properties pourrait être plus bénéfique pour les propriétés que vous ne modifiez jamais, comme les informations d'identification de la base de données.
Vous devez utiliser spring-boot-configuration-processor
qui générera pour vous les métadonnées de configuration.
Voir l'exemple: https://www.baeldung.com/spring-boot-configuration-metadata