Arranque de molas e como configurar os detalhes de ligação ao MongoDB?

sendo novo no Spring Boot, estou a pensar em Como posso configurar os detalhes da ligação para o MongoDB. Eu tentei os exemplos normais, mas nenhum cobre os detalhes da conexão.

quero especificar a base de dados que vai ser usada e o url/porto da máquina que executa o MongoDB.

Alguma dica ou dica?

Author: Marco, 2014-05-07

4 answers

Só para citar Os documentos das botas:

Pode definir spring.data.mongodb.uri a propriedade para alterar o url,ou, em alternativa, indicar a host/port. Por exemplo, você pode declarar o seguinte em seu application.properties:

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

Todas as opções disponíveis para spring.data.mongodb prefixo são 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;
 66
Author: Artem Bilan, 2016-04-19 15:59:06

Num projecto maven cria um ficheiro src/main/resources/application.yml com o seguinte conteúdo:

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

O arranque de molas irá usar automaticamente este ficheiro para configurar a sua aplicação. Então você pode iniciar a sua aplicação de inicialização de primavera com o perfil de integração (e usar o seu MongoDB local)

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

Ou com o perfil de produção (e use o seu MongoDB de Produção)

java -jar -Dspring.profiles.active=production your-app.jar
 11
Author: asmaier, 2015-05-08 16:13:27

Você pode definir mais detalhes estendendo a Abstractmongoconfiguração.

@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;
    }
}
 11
Author: Mari Murotani, 2015-08-14 08:48:16

spring.data.mongodb.host e spring.data.mongodb.port não são suportados Se estiver a usar o controlador Java Mongo 3. 0. Nesses casos, spring.data.mongodb.uri deve ser usado para fornecer toda a configuração, assim:

spring.data.mongodb.uri=mongodb://user:[email protected]:12345
 10
Author: Ali Dehghani, 2015-12-19 17:50:23