Ce blog vous présentera la configuration multi-environnement, le swagger et d'autres contenus connexes.
Analyse de configuration multi-environnement
Dans le développement réel, nous pouvons impliquer certains environnements, tels que local (environnement de développement local), dev (déployé dans un environnement de développement distant), test (environnement de pré-version), produit (environnement de production). De toute évidence, sous différents environnements, correspondant à différentes informations de configuration, telles que db / redis / mq, etc., même sous différents environnements, le programme doit effectuer des traitements différents. Alors, comment le projet springboot prend-il en charge la configuration multi-environnement?
Tout d'abord, springboot est un programme exécutable, lancé par java -jar, puis nous devons indiquer à springboot quel est le profil (environnement) actuel au démarrage, à savoir:
java -jar xxx.jar --spring.profiles.active = test
Grâce à ce --spring.profiles.active = test est de dire à springboot que le profil que nous définissons est test.
Méthodes de configuration multi-environnements couramment utilisées dans le développement réel
Configuration multi-environnement
Si vous définissez --spring.profiles.active = test, springboot prendra en charge le chargement du fichier application-test.properties. Si nous stockons les fichiers de configuration d'environnements différents par sous-répertoires, nous devons d'abord obtenir le profil.
Comment obtenir le profil actuel
Obtenez le profil de la classe d'entrée
java -jar xxx.jar --spring.profiles.active = test
Pour le dire clairement, la chaîne "--spring.profiles.active = test" sera passée aux arguments String [] de la méthode principale de la classe d'entrée!
CommandUtils
comment obtenir le profil des args
Nous traversons les arguments. Si nous trouvons le profil, nous définirons la clé / valeur système via System.setProperty (la clé ici est "profile"). Ceci permet de sauvegarder le profil pour un accès ultérieur.
Notez que si le profil n'est pas donné, il est automatiquement défini sur dev.
Jetez un œil à la méthode de profil d'analyse spécifique dans CommandUtils
parseSpringProfile
Type d'énumération Env défini
À ce stade, nous pouvons charger le fichier de configuration sous le profil en fonction du profil, tel que:
Se référer à la variable de profil définie par le système
Dans ce qui précède, nous avons défini System.setProperty et défini les informations d'environnement actuelles sur la variable de profil, nous avons donc directement référencé $ {profile}.
Jetons un œil au contenu du fichier application.properties:
Définissez différents ports de démarrage en fonction de différents profils
Supposons que nous souhaitons déployer l'application dans l'environnement de test:
profil = test
port = 7072
vérification:
Le profil peut-il être obtenu et les fichiers de propriétés dans un répertoire spécifique peuvent-ils être chargés?
Fichiers de configuration dans différents répertoires d'environnement
résultat:
Obtenez une vérification de profil
Vous avez la configuration mongo dans l'environnement de test
D'accord, ici, la configuration multi-environnement sera présentée à tout le monde ~
fanfaron
Swagger, traduit en anglais, est un peu traînant, cool et digne de son nom!
L'intégration de Swagger avec springboot est très simple. C'est un framework d'API très puissant. Il permet non seulement d'accéder à des documents en ligne (comme java doc), mais fournit également des tests http en ligne (comme postman, etc.), simples et beaux ~
Comment l'intégrer?