web-dev-qa-db-fra.com

Propriété inconnue Spring Boot dans application.properties

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?

11

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

9
Darren Forsythe

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 -

  1. 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).

  2. 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.

6
Akash

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é.

2
Takyon

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.

1

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

0
Hussam