首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

Spring Boot配置MongoDB多数据源(2)

Spring Boot配置MongoDB多数据源(2)

数据源加载

数据源加载需要新建继承AbstractMongoConfigure的加载类,有多少个数据源就需要新建多少个数据源加载类。
我们这里需要新建两个数据源加载类
新建用户数据源加载类

UserMongoConfig.java

package com.biologic.util;

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
import org.springframework.data.mongodb.core.MongoTemplate;

//prefix需要与配置文件中用户user数据源的配置前缀对应
@Configuration  
@ConfigurationProperties(prefix = "spring.data.mongodb.user")
public class UserMongoConfig extends AbstractMongoConfig {     


     @Primary
     @Bean(name = "mongoTemplate")
     @Override
     public  MongoTemplate getMongoTemplate() throws Exception {        
         return new MongoTemplate(mongoDbFactory());   
     }


}
新建日志数据源加载类

package com.biologic.util;

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.mongodb.core.MongoTemplate;

//prefix需要与配置文件中日志log数据源的配置前缀对应
@Configuration  
@ConfigurationProperties(prefix = "spring.data.mongodb.log")
public class LogMongoConfig extends AbstractMongoConfig {     

     @Override   
     @Bean(name = "logMongoTemplate")
     public  MongoTemplate getMongoTemplate() throws Exception {        
         return new MongoTemplate(mongoDbFactory());   
     }


}
需要注意的是 多个数据源中有一个需要设置bean名为mongoTemplate,而且注释为@Primary,否则WebMvcConfigurationSupport.class等会报错找不到mongoTemplate。
返回列表