简介: 项目springboot mongodb多数据源,在通过mongoTemple插入数据的时候总是有个默认的_class信息,是不是看着比较烦、、那么怎么去除能
1 在容器启动的时候创建去掉_class需要的bean
package com.fy.agent.api.config.mongo;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.NoSuchBeanDefinitionException;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.mongodb.MongoDbFactory;
import org.springframework.data.mongodb.core.convert.*;
import org.springframework.data.mongodb.core.mapping.MongoMappingContext;
@Configuration
public class MongoClassConverter {
@Bean(name = "mongoConverter")
public MappingMongoConverter mappingMongoConverter(MongoDbFactory factory, MongoMappingContext context, BeanFactory beanFactory) {
DbRefResolver dbRefResolver = new DefaultDbRefResolver(factory);
MappingMongoConverter mappingConverter = new MappingMongoConverter(dbRefResolver, context);
try {
mappingConverter.setCustomConversions(beanFactory.getBean(CustomConversions.class));
} catch (NoSuchBeanDefinitionException ignore) {
}
// Don't save _class to mongo
mappingConverter.setTypeMapper(new DefaultMongoTypeMapper(null));
return mappingConverter;
}
}
创建这么一个bean的目的就是在多数据源引用的时候不需要在每个数据源配置中进行配置了。
2 mongo工具类