Springboot Project lit le fichier de configuration application.properties par défaut. Si vous avez besoin de personnaliser les fichiers de propriétés, comment les lire?
1. Créez un nouveau fichier .properties dans la ressource
Créez un nouveau dossier de configuration dans le répertoire des ressources, puis créez un nouveau fichier .properties et placez-le dans ce dossier. Comme indiqué dans la télécommande.properties sur la figure
2. Écrivez des fichiers de configuration
reote.uploadFilesUrl = / Resource / Files / Remote.uploadPicurl = / Resource / Pic /
3. Créez une nouvelle classe de configuration RemoteProperties.java
@ Configuration @ configurationProperties (prefix = "distant", ignoreunknownFields = false) @propertysource ("classpath: config / remote.properties") @ data @ composantpublic class RemoteProperties {private String uploadFilesUrl; chaîne privée uploadPicurl;}dans
@Configuration indique qu'il s'agit d'une classe de configuration
@ConfigurationProperties (prefix = "Remote", ignoreunknownFields = false) Cette annotation est utilisée pour lier les propriétés. Le préfixe est utilisé pour sélectionner le préfixe de la propriété, c'est-à-dire "distant" dans le fichier distant.properties. Ignoreunknownfields est utilisé pour dire à Springboot de lancer une exception lorsqu'une propriété ne peut pas correspondre au domaine déclaré.
@PropertySource ("ClassPath: config / reote.properties") Chemin de fichier de configuration
@Data Il s'agit d'une annotation Lombok, utilisée pour générer des méthodes Getter & Setter. Pour plus de détails, veuillez vous référer aux informations liées à Lombok.
@Component identifié comme Bean
4. Comment l'utiliser?
Annoter l'activeConfigurationProperties (RemoteProperties.class) sur la table de la classe où se trouve la méthode que vous souhaitez utiliser le fichier de configuration.
Et injecter automatiquement
@AutowiredReMoteProperties RemoteProperties;
Utilisez RemoteProperties.GetUpLoadFilesUrl () dans la méthode pour obtenir le contenu de configuration.
@EnableConfigurationProperties (RemoteProperties.Class) @RestControllerPublic Class TestService {@Autowired RemoteProperties RemoteProperties; public void test () {String str = remoteProperties.geTUploadFilesUrl (); System.out.println (STR); }}Ici, STR est "/ Resource / Files /" dans le fichier de configuration.
PS: Jetons un coup d'œil à deux façons de lire les fichiers de configuration de configuration dans Spring-Boot
Si vous avez compris la technologie Spring-Boot, vous devez connaître l'application.properties du fichier de configuration de base de Spring-Boot, et bien sûr, vous pouvez également annoter les informations du fichier de configuration personnalisé.
Comment Spring-Boot lit les fichiers de configuration:
1. Lisez les informations sur le fichier de configuration de base de l'application.
Le fichier de configuration de base fait référence au fichier de configuration Application.Properties ou Application.yml dans le répertoire racine des ressources. Il existe deux façons de lire ces deux fichiers de configuration, qui sont tous deux relativement simples.
Le contenu application de fichier de configuration de base. Le contenu est le suivant:
test.msg = bonjour le Springboot mondial
Méthode 1: Utilisez la méthode @value (couramment utilisée)
Package Solin.Controller; import org.springframework.beans.factory.annotation.value; import org.springframework.web.bind.annotation.requestmapping; import org.springframework.web.bind.annotation.restController; @RestController public class webController {@Value ("$ {test.msg}") String privé msg; @RequestMapping ("/ index1") public String index1 () {return "Method 1:" + msg; }} Remarque: le $ {} de @Value est inclus dans le nom de clé dans le fichier de configuration de base. L'ajout de @RestController à la classe Controller signifie que toutes les vues de cette classe sont affichées dans JSON, similaire à l'ajout de @ResponseBody à la méthode de vue.
Lors de la visite: http: // localhost: 8088 / index1, vous obtiendrez: "Méthode 1: Hello World Springboot"
Méthode 2: Utilisez l'environnement Méthode
Package Solin.Controller; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.value; import org.springframework.core.env.environment; import org.springframework.web.bind.annotation.requestmapping; import org.springframework.web.bind.annotation.restController; @RestController Public Class WebController {@Autowired Private Environment Env; @RequestMapping ("/ index2") public String index2 () {return "Method 2:" + Env.getProperty ("test.msg"); }} Remarque: Cette méthode consiste à utiliser l'évironment pour terminer l'injection de dépendance. Ajoutez l'annotation @Autowired à l'environnement privé de la variable de membre créé Env pour compléter l'injection de dépendance, puis utiliser Env.GetProperty ("Nom de clé") pour lire la valeur correspondante.
Lors de la visite: http: // localhost: 8088 / index2, vous obtenez: "Méthode 2: Hello World Springboot"
2. Lire les informations de fichier de configuration personnalisées, par exemple: auteur.properties
Afin de ne pas détruire l'écologie d'origine du fichier central, mais doit également avoir des informations de configuration personnalisées, en général, les fichiers de configuration personnalisés sont sélectionnés pour placer ces informations personnalisées. Ici, le fichier de configuration Auteur.properties est créé dans le répertoire des ressources.
Le contenu des ressources / auteur.properties est le suivant:
auteur.name = solin auteur.age = 22
Créer une classe d'entité pour gérer la configuration:
Package Solin.Controller; import org.springframework.boot.context.properties.configurationProperties; import org.springframework.context.annotation.configuration; import org.springframework.sterereotype.Component; // Ajouter au commentaire @Component, vous pouvez utiliser @Autowired directement pour créer son objet d'instance à d'autres endroits @Component @configurationProperties (prefix = "auteur", locations = "classpath: auteur Âge privé; public String getName () {Nom de retour; } public void setName (string name) {this.name = name; } public int getage () {return âge; } public void Setage (int Age) {this.age = age; }}Avis:
Il y a deux propriétés dans l'annotation @configurationproperties:
Emplacements: spécifiez l'emplacement du fichier de configuration
Préfixe: spécifiez le préfixe du nom de clé dans le fichier de configuration (tous les noms de clé du fichier de configuration ici commencent par l'auteur.)
L'utilisation de @Component consiste à permettre à la classe d'être dépendante d'autres endroits, c'est-à-dire pour créer des instances en utilisant une annotation @Autowired.
Créer un contrôleur de test
Package Solin.Controller; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.sterreotype.Controller; import org.springframework.web.bind.annotation.requestmapping; import org.springframework.web.bind.annotation.ResponseBody; @Controller public class configController {@autowired private mywebconfig config; @RequestMapping ("/ test") public @ResponseBody String test () {return "name:" + conf.getName () + "---" + "Age:" + conf.Getage (); }}Remarque: Étant donné que @Component est ajouté à la classe conf, vous pouvez directement utiliser @Autowired pour créer son objet d'instance.
Lors de la visite: http: // localhost: 8088 / test, vous obtenez: "Nom: Solin --- Âge: 22"
Résumer
Ce qui précède est la méthode de lecture des fichiers de configuration des propriétés personnalisées sous Springboot qui vous est présentée par l'éditeur. J'espère que cela vous sera utile. Si vous avez des questions, veuillez me laisser un message et l'éditeur vous répondra à temps. Merci beaucoup pour votre soutien au site Web Wulin.com!