背景
最近项目中有需求,需要多个mongo库,分割数据。网上有很多文章可参考,其原理是:在Spring 容器中实例化多个MongoTemplate,代码示例:
@Configuration
@EnableMongoRepositories(basePackages = {"com.sunliangliang.service.basic"}, mongoTemplateRef = "basicMongoTemplate")
@ConfigurationProperties(prefix = "basic.mongodb")
public class BasicMongoConfigure extends AbstractMongoConfigure {
@Override
@Bean(name = "basicMongoTemplate")
public MongoTemplate getMongoTemplate() throws Exception {
return new MongoTemplate(mongoDbFactory());
}
}
使用方式:
1.使用时通过@Autowired 和@Qualifier注入MongoTemplate实例以操作不同的mongo数据库(PS:可使用@Resource注解,引入MongoTemplate 并为其实例命名为所需的已配置的bean名称,而引入相对应的MongoTemplate实例)<