Étant donné que vous devez accéder à MongoDB, l'environnement de développement local ne peut pas se connecter directement à MongoDB, vous devez utiliser le proxy IP local 127.0.0.2 via SecureCrt. Cependant, une fois le programme déployé dans un environnement de production en ligne, il peut accéder directement à MongoDB. Par conséquent, après avoir développé le programme, vous devez toujours modifier l'IP du serveur MongoDB avant de soumettre le code, ce qui est très gênant.
chaîne finale statique privée pubchat_host = "127.0.0.2"; // chaîne finale statique privée pubchat_host = "prod_mongo_server_ip";
Étant donné que Spring-Boot-Starter-Data-MongoDB n'est pas utilisé, mais utilise le mongo-java-chauffeur pour accéder à MongoDB, il est nécessaire de définir certaines configurations pour accéder à MongoDB dans le programme, telles que l'adresse du serveur, le port IP, le nom de la base de données ... Utiliser une variable statique d'une classe d'outils pour déclarer ces informations de configuration. Injecté via @configurationproperties.
Définition de classe d'outils statiques
Les propriétés sont statiques:
String statique privé Chat_Username;
Injectez-le ensuite via la méthode de l'ensemble non statique:
@Value ("$ {mongo.config.username}") public void setchat_username (String Chat_username) {MongoConfig.chat_username = chat_username; }D'autres classes obtiennent des propriétés par le biais de méthodes de GET statiques publiques:
Public Static String getchat_username () {return chat_username; }La valeur du préfixe est définie dans Application.yml
@Configurationproperties (prefix = "Mongo.config") classe publique MongoConfig {.....L'ensemble du code complet est le suivant:
Importer org.springframework.beans.factory.annotation.value; import org.springframework.boot.context.properties.configurationproperties; import org.springframework.stereotype.Component; / ** * créé par administrateur le 2018/4. * / @ Component (value = "MongoConfig") @ ConfigurationProperties (prefix = "Mongo.config") public class MongoConfig {private static String Chat_username; String statique privé Chat_password; String statique privé Chat_host; Int statique privé Int Chat_port; String statique privé Chat_dbname; String statique privé Chat_CollPrefix; Public Static String getchat_username () {return chat_username; } @Value ("$ {mongo.config.username}") public void setchat_username (String Chat_username) {MongoConfig.chat_username = chat_username; } public static String getchat_password () {return chat_password; } @Value ("$ {mongo.config.password}") public void setchat_password (String Chat_password) {MongoConfig.chat_password = chat_password; } String statique public getchat_host () {return chat_host; } @Value ("$ {mongo.config.host}") public void setchat_host (String Chat_host) {MongoConfig.chat_host = chat_host; } public static int getchat_port () {return chat_port; } @Value ("$ {mongo.config.port}") public static void setchat_port (int chat_port) {mongoconfig.chat_port = chat_port; } public static static getchat_dbname () {return chat_dbname; } @Value ("$ {mongo.config.dbname}") public void setchat_dbname (String Chat_dbname) {MongoConfig.chat_dbname = chat_dbname; } public static static getchat_collprefix () {return chat_collprefix; } @Value ("$ {mongo.config.collprefix}") public void setchat_collprefix (string chat_collprefix) {MongoConfig.chat_collprefix = chat_collprefix; }}Définition du fichier de configuration YML
Utilisez le profil pour spécifier différentes configurations à utiliser dans différents environnements. Active spécifie l'environnement activé, comme Dev ou Prod
Spring: Application: Nom: TextMl Profils: Active: Dev ---- Spring: Profils: Dev, par défaut, testmongo: config: nom d'utilisateur: "xxx" Mot de passe: "xxx" Hôte: "127.0.0.2" Port: 10001 DBNAME: "xxx" Colprefix: "xxxx" - - Profiles: Profiles: prodmongo: config: username: "xxxx" - - Profiles: Profiles: prodMongo: Config: USERNAM "xxx" Hôte: "XXXX" Port: 10001 DBNAME: "XXXX" Colprefix: "xxx"
test
Étant donné que la configuration personnalisée de MongoDB est utilisée, @springbootapplication (exclure = mongoautoconfiguration.class) est utilisée pour exclure la configuration MongoDB fournie avec Spring-boot.
@Springbootapplication (exclude = mongoautoconfiguration.class) de classe publique {public static void main (String [] args) {springApplication.Run (application.class, args); System.out.println ("- Config Value - Username:" + MongoConfig.getchat_username ()); }}Référence: Fichier de configuration d'injection de variable statique de démarrage Spring
Ce qui précède est tout le contenu de cet article. J'espère que cela sera utile à l'apprentissage de tous et j'espère que tout le monde soutiendra davantage Wulin.com.