Spring Boot et comment configurer les détails de connexion sur MongoDB?

Être nouveau sur Spring Boot Je me demande comment je peux configurer les détails de connexion pour MongoDB. J’ai essayé les exemples normaux mais aucun ne couvre les détails de connexion.

Je veux spécifier la firebase database qui va être utilisée et l’URL / port de l’hôte qui exécute MongoDB.

Des astuces ou des conseils?

Juste pour citer les documents de démarrage :

Vous pouvez définir la propriété spring.data.mongodb.uri pour modifier l’url ou spécifier un host/port . Par exemple, vous pouvez déclarer ce qui suit dans votre application.properties :

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

Toutes les options disponibles pour le préfixe spring.data.mongodb sont des champs de MongoProperties :

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

Dans un projet Maven, créez un fichier src/main/resources/application.yml avec le contenu suivant:

 spring.profiles: integration # use local or embedded mongodb at localhost:27017 --- spring.profiles: production spring.data.mongodb.uri: mongodb://:@:/ 

Spring Boot utilisera automatiquement ce fichier pour configurer votre application. Ensuite, vous pouvez démarrer votre application Spring Boot avec le profil d’intégration (et utiliser votre MongoDB locale)

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

ou avec le profil de production (et utilisez votre production MongoDB)

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

Vous pouvez définir plus de détails en étendant AbstractMongoConfiguration.

 @Configuration @EnableMongoRepositories("demo.mongo.model") public class SpringMongoConfig extends AbstractMongoConfiguration { @Value("${spring.profiles.active}") private Ssortingng profileActive; @Value("${spring.application.name}") private Ssortingng proAppName; @Value("${spring.data.mongodb.host}") private Ssortingng mongoHost; @Value("${spring.data.mongodb.port}") private Ssortingng mongoPort; @Value("${spring.data.mongodb.database}") private Ssortingng 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 Ssortingng getDatabaseName() { // TODO Auto-generated method stub return mongoDB; } } 

spring.data.mongodb.host et spring.data.mongodb.port ne sont pas pris en charge si vous utilisez le pilote Java Mongo 3.0 . Dans de tels cas, spring.data.mongodb.uri doit être utilisé pour fournir toute la configuration, comme ceci:

 spring.data.mongodb.uri=mongodb://user:secret@mongo1.example.com:12345