How to use Spring to connect to MongoDB which requires authentication

前端 未结 3 1841
遇见更好的自我
遇见更好的自我 2020-12-08 16:50

I am using the below Spring configuration in order to connect to mongoDB



        
3条回答
  •  清歌不尽
    2020-12-08 17:45

    If you want to add authntication using java config

    @Configuration
    @EnableMongoRepositories("path.to.your.repository")
    public class MongoConfig extends AbstractMongoConfiguration
    {
    @Value("${mongodb.name}")
    private String  dbName;
    
    @Value("${mongodb.host}")
    private String  host;
    
    @Value("${mongodb.port}")
    private Integer port;
    
    @Value("${mongodb.username}")
    private String  userName;
    
    @Value("${mongodb.password}")
    private String  password;
    
    
    @Override
    protected String getDatabaseName()
    {
        return this.dbName;
    }
    
    @Override
    public Mongo mongo() throws Exception
    {
        return new MongoClient(this.host, this.port);
    }
    
    @Override
    @Bean
    public SimpleMongoDbFactory mongoDbFactory() throws Exception
    {
        return new SimpleMongoDbFactory(mongo(), getDatabaseName());
    }
    
    @Override
    @Bean
    public MongoTemplate mongoTemplate() throws Exception
    {
        final UserCredentials userCredentials = new UserCredentials(this.userName, this.password);
    
        final MongoTemplate mongoTemplate = new MongoTemplate(mongo(), getDatabaseName(), userCredentials);
        mongoTemplate.setWriteConcern(WriteConcern.SAFE);
    
        return mongoTemplate;
    }
    
    }
    

提交回复
热议问题