Dado que necesita acceder a MongoDB, el entorno de desarrollo local no puede conectarse directamente a MongoDB, debe utilizar el proxy IP local 127.0.2 a través de SecureCrt. Sin embargo, después de que el programa se implementa en un entorno de producción en línea, puede acceder directamente a MongoDB. Por lo tanto, después de desarrollar el programa, siempre debe modificar la IP del servidor MongoDB antes de enviar el código, que es muy inconveniente.
cadena final estática privada PUBCHAT_HOST = "127.0.0.2"; // cadena final estática privada PUBCHAT_HOST = "prod_mongo_server_ip";
Dado que no se utiliza los datos de los primavera-boot-starter-MongoDB, pero utiliza Mongo-Java-Driver para acceder a MongoDB, es necesario definir algunas configuraciones para acceder a MongoDB en el programa, como la dirección del servidor, el puerto IP, el nombre de la base de datos ... Utilice una variable estática de una clase de herramienta para declarar información de configuración, y el valor de la información de configuración se ahorra en la aplicación de la aplicación. Inyectado a través de @configurationProperties.
Definición de clase de herramienta estática
Las propiedades son estáticas:
cadena estática privada chat_username;
Luego inyectarlo a través del método de conjunto no estático:
@Value ("$ {mongo.config.username}") public void setchat_username (string chat_username) {mongoconfig.chat_username = chat_username; }Otras clases obtienen propiedades a través de métodos de obtención de estática pública:
public static string getChat_Username () {return chat_username; }El valor del prefijo se define en Application.yml
@ConfigurationProperties (prefix = "Mongo.config") Class pública MongoConfig {.....Todo el código completo es el siguiente:
importar org.springframework.beans.factory.annotation.value; import org.springframework.boot.context.properties.configurationProperties; import org.springframework.stereotype.component;/*** creado por el administrador en 2018/4/4. */@Componente (valor = "MongoConfig")@ConfigurationProperties (prefix = "Mongo.config") clase pública MongoConfig {String static privado chat_username; cadena estática privada chat_password; cadena estática privada chat_host; Private Static int chat_port; cadena estática privada chat_dbname; Cadena estática privada 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; } public static string 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 string getChat_dbname () {return chat_dbname; } @Value ("$ {mongo.config.dbname}") public void setchat_dbname (string chat_dbname) {monNgoConfig.chat_dbname = chat_dbname; } public static string getChat_collPrefix () {return chat_collprefix; } @Value ("$ {mongo.config.collprefix}") public void setchat_collprefix (String chat_collprefix) {mongoConfig.chat_collprefix = chat_collprefix; }}Definición de archivo de configuración YML
Use el perfil para especificar diferentes configuraciones para usar en diferentes entornos. activo especifica el entorno activado, como dev o prod
Spring: Aplicación: Nombre: TextMl Perfiles: Activo: Dev ---- Spring: Perfiles: Dev, predeterminado, TestMongo: config: username: "xxx" contraseña: "xxx" host: "127.0.2" puerto: 10001 dbname: "xxx" colprefix: "xxxx" --- treing: perfiles: prodmongo: config: config: config: config: Configur "xxx" host: "xxxx" puerto: 10001 dbname: "xxxx" colprefix: "xxx"
prueba
Dado que se utiliza la configuración personalizada de MongoDB, @SpringBootApplication (excluye = MongoAutoconfiguration.class) se usa para excluir la configuración de MongoDB que viene con Spring-Boot.
@SpringBootApplication (excluir = MongoAutoconfiguration.Class) Aplicación de clase pública {public static void main (string [] args) {springapplication.run (application.class, args); System.out.println ("-Valor de configuración-UserName:" + MongoConfig.getchat_username ()); }}Referencia: Archivo de configuración de inyección de variable estática de arranque de primavera
Lo anterior es todo el contenido de este artículo. Espero que sea útil para el aprendizaje de todos y espero que todos apoyen más a Wulin.com.