[JAVA] [Spring Boot] Comment obtenir des propriétés dynamiquement à partir d'une chaîne contenue dans une URL

Obtenez la valeur du fichier de propriétés de manière dynamique à l'aide d'Environnement.

version

spring boot 2.0.3.RELEASE

Dossier de propriété

application.properties


sample.name=hoge
sample.age=20

Classe de configuration utilisant l'environnement

Injectez l'environnement et appelez la méthode getProperty.

SampleProperty.java


import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;
import org.springframework.core.env.Environment;
@Configuration
// @Spécifiez l'emplacement du fichier de propriétés avec PropertySource
@PropertySource("classpath:/application.properties")
public class SampleProperty {
	
	//Environnement d'injection
	@Autowired
	private Environment env;
	
	public String get(String key) {
		//Obtenir la valeur de la propriété de l'environnement
		return env.getProperty("sample." + key);
	}

}

RestController (classe qui appelle la classe de configuration)

Obtenez la valeur de la classe Configuration en utilisant le chemin inclus dans l'URL comme clé.

SampleController.java


import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RestController;

@Component
@RestController
public class SampleController {

	@Autowired
	private SampleProperty prop;

	@GetMapping(path = "/user/{key}", produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
	public String getUser(@PathVariable String key) {
		
		String result = prop.get(key);
		
		if (result == null) {
			result = "La valeur n'a pas pu être obtenue.";
		}
		
		return result;
	}
}

Contrôle de fonctionnement

Accédez à http: // localhost: 8080 / user / name depuis votre navigateur

spring1.png

Accédez à http: // localhost: 8080 / user / age depuis votre navigateur spring2.png

Recommended Posts

[Spring Boot] Comment obtenir des propriétés dynamiquement à partir d'une chaîne contenue dans une URL
Comment ajouter un chemin de classe dans Spring Boot
Comment créer un projet Spring Boot dans IntelliJ
Comment stocker des chaînes de ArrayList à String en Java (personnel)
Comment obtenir la date actuelle sous forme de chaîne au format aaaaMMjj
Comment obtenir la valeur du paramètre (valeur de la propriété) à partir de la base de données dans Spring Framework
Convertir en balise dans la chaîne d'URL avec Rails
Comment obtenir une classe depuis Element en Java
Comment se lier avec un fichier de propriétés dans Spring Boot
Comment définir des variables d'environnement dans le fichier de propriétés de l'application Spring Boot
Comment écrire un test unitaire pour Spring Boot 2
[Spring Boot] Comment créer un projet (pour les débutants)
Comment utiliser CommandLineRunner dans Spring Batch of Spring Boot
[Java] Comment effacer un caractère spécifique d'une chaîne de caractères
Essayez Spring Boot de 0 à 100.
Comment modifier la valeur de paramètre de application.properties au moment du démarrage dans Spring Boot
Comment appeler et utiliser l'API en Java (Spring Boot)
Comment contrôler les transactions dans Spring Boot sans utiliser @Transactional
Comment utiliser Lombok au printemps
Comment configurer Spring Boot + PostgreSQL
Comment obtenir des paramètres dans Spark
Comment utiliser ModelMapper (Spring boot)
Mise à niveau de la botte à ressort de la série 1.5 à la série 2.0
Comment créer un hinadan pour un projet Spring Boot à l'aide de SPRING INITIALIZR
Obtenez une instance proxy du composant lui-même dans Spring Boot
[Java] Obtenir des données de la base de données à l’aide du service singleton dans Spring (Boot)
Ce que j'ai fait lors de la migration de la série Spring Boot 1.4 vers la série 2.0
Ce que j'ai fait lors de la migration de la série Spring Boot 1.5 vers la série 2.0
Comment obtenir et ajouter des données depuis Firebase Firestore dans Ruby
[Java] Comment convertir du type String en type Path et obtenir le chemin
Comment installer confortablement JDK 11 dans votre Mac
Comment afficher les caractères saisis dans Spring Boot sur le navigateur et les liens de référence [Introduction à Spring Boot / Pour les débutants]
Comment insérer une vidéo dans Rails
Comment inclure Spring Tool dans Eclipse 4.6.3?
L'histoire de la transition de Spring Boot 1.5 à 2.1
Modifications lors de la migration de Spring Boot 1.5 vers Spring Boot 2.0
Notation pour mettre des variables dans une chaîne
[Java] Comment accéder au début d'une chaîne spécifique à l'aide de la classe String
Modifications lors de la migration de Spring Boot 2.0 vers Spring Boot 2.2
Comment obtenir la date avec Java
Comment obtenir le chemin absolu d'un répertoire s'exécutant en Java
Comment publier une bibliothèque dans jCenter
Comment diviser un fichier de message Spring Boot
Comment créer une route directement à partir de l'URL que vous souhaitez spécifier + α
Comment obtenir l'ID d'un utilisateur qui s'est authentifié avec Firebase dans Swift
03. J'ai envoyé une demande de Spring Boot à l'API de recherche de code postal
Connectez-vous aux applications Web Spring Boot sur la plate-forme Microsoft ID
Obtenez le chemin défini dans la classe Controller de Spring Boot sous forme de liste
Comment obtenir n'importe quel numéro de chiffre à partir de 2 chiffres ou plus! !!
[Exemple de code Spring inclus] Comment créer un formulaire et comment obtenir plusieurs enregistrements
Comment démarrer un indice à partir d'un nombre arbitraire dans le traitement itératif Ruby
De la création d'un projet Spring Boot à l'exécution d'une application avec VS Code
Comment obtenir les informations d'identification Keycloak dans la classe d'intercepteur
[Android] Comment convertir une chaîne de caractères en resourceId
Comment utiliser MyBatis2 (iBatis) avec Spring Boot 1.4 (Spring 4)