public class MongoDBConfig extends AbstractMongoConfiguration {
@Value("${mongo.databaseName}")
private String databaseName;
@Value("${mongo.user}")
private String username;
@Value("${mongo.password}")
private String password;
@Value("${mongo.host}")
private String host;
@Value("${mongo.port}")
private Integer port;
@Bean
public Mongo mongo() {
LOG.debug("MongoClient开始初始化,host:{},port:{}",host,port);
MongoClient mongoClient = new MongoClient(Arrays.asList(new ServerAddress(host, port)),
Arrays.asList(MongoCredential.createCredential(username, databaseName, password.toCharArray())),
MongoClientOptions.builder().writeConcern(WriteConcern.ACKNOWLEDGED).build());
LOG.debug("MongoClient初始化完成,host:{},port:{}",host,port);
return mongoClient;
}
@Override
protected String getDatabaseName() {
// TODO Auto-generated method stub
return databaseName;
}
@Bean
public GridFsTemplate gridFsTemplate() throws Exception {
return new GridFsTemplate(mongoDbFactory(), mappingMongoConverter());
}
//DefaultMongoTypeMapper(null)
@Bean
public DefaultMongoTypeMapper typeMapper() throws ClassNotFoundException{
DefaultMongoTypeMapper mapper=new DefaultMongoTypeMapper(null);
return mapper;
}
@Override
public CustomConversions customConversions() {
// TODO Auto-generated method stub
return super.customConversions();
}
@Bean
@Override
public MappingMongoConverter mappingMongoConverter() throws Exception {
MappingMongoConverter converter=super.mappingMongoConverter();
converter.setTypeMapper(typeMapper());
return converter;
}
private static final Logger LOG = LoggerFactory.getLogger(MongoDBConfig.class);
}
MongoDBConfig
最新推荐文章于 2024-01-29 17:37:43 发布