world update microservicios hello example eureka ejemplo data conectar con spring mongodb spring-data spring-boot

update - Spring Boot y cómo configurar los detalles de conexión a MongoDB?



spring boot spring data mongodb example (4)

En un proyecto maven crea un archivo src/main/resources/application.yml con el siguiente contenido:

spring.profiles: integration # use local or embedded mongodb at localhost:27017 --- spring.profiles: production spring.data.mongodb.uri: mongodb://<user>:<passwd>@<url>:<port>/<dbname>

Spring Boot usará automáticamente este archivo para configurar su aplicación. Luego puede iniciar su aplicación de inicio de primavera con el perfil de integración (y use su MongoDB local)

java -jar -Dspring.profiles.active=integration your-app.jar

o con el perfil de producción (y usa tu producción MongoDB)

java -jar -Dspring.profiles.active=production your-app.jar

Como soy nuevo en Spring Boot, me pregunto cómo puedo configurar los detalles de conexión para MongoDB. He intentado con los ejemplos normales pero ninguno cubre los detalles de la conexión.

Quiero especificar la base de datos que se utilizará y la url / puerto del host que ejecuta MongoDB.

¿Algún consejo o sugerencia?


Puede definir más detalles extendiendo AbstractMongoConfiguration.

@Configuration @EnableMongoRepositories("demo.mongo.model") public class SpringMongoConfig extends AbstractMongoConfiguration { @Value("${spring.profiles.active}") private String profileActive; @Value("${spring.application.name}") private String proAppName; @Value("${spring.data.mongodb.host}") private String mongoHost; @Value("${spring.data.mongodb.port}") private String mongoPort; @Value("${spring.data.mongodb.database}") private String mongoDB; @Override public MongoMappingContext mongoMappingContext() throws ClassNotFoundException { // TODO Auto-generated method stub return super.mongoMappingContext(); } @Override @Bean public Mongo mongo() throws Exception { return new MongoClient(mongoHost + ":" + mongoPort); } @Override protected String getDatabaseName() { // TODO Auto-generated method stub return mongoDB; } }


Solo para citar Boot Docs :

Puede establecer la propiedad spring.data.mongodb.uri para cambiar la url o, alternativamente, especificar un host/port . Por ejemplo, puede declarar lo siguiente en su application.properties :

spring.data.mongodb.host=mongoserver spring.data.mongodb.port=27017

Todas las opciones disponibles para el prefijo spring.data.mongodb son campos de MongoProperties :

private String host; private int port = DBPort.PORT; private String uri = "mongodb://localhost/test"; private String database; private String gridFsDatabase; private String username; private char[] password;


spring.data.mongodb.host y spring.data.mongodb.port no son compatibles si está utilizando el controlador de Mongo 3.0 Java . En tales casos, spring.data.mongodb.uri debe usar para proporcionar toda la configuración, como esta:

spring.data.mongodb.uri=mongodb://user:[email protected]:12345