Spring Boot多数据源配置(一)durid、mysql、jpa 整合中已经讲过了Spring Boot如何配置mysql多数据源。本篇文章讲一下Spring Boot如何配置mongoDB多数据源。

配置文件

spring:
#mongo配置
data:
mongodb:
statis:
database: kxlist_statis
uri: 192.168.1.115:27017
list:
database: kxlist_list
uri: 192.168.1.115:27017

JAVA文件:

  • 总的配置:
@Configuration
public class MultipleMongoProperties {
@Bean(name="statisMongoProperties")
@Primary
@ConfigurationProperties(prefix="spring.data.mongodb.statis")
public MongoProperties statisMongoProperties() {
System.out.println("-------------------- statisMongoProperties init ---------------------");
return new MongoProperties();
} @Bean(name="listMongoProperties")
@ConfigurationProperties(prefix="spring.data.mongodb.list")
public MongoProperties listMongoProperties() {
System.out.println("-------------------- listMongoProperties init ---------------------");
return new MongoProperties();
} }
  • statis数据源配置
@Configuration
@EnableMongoRepositories(basePackages = "com.kxlist.statistics.domain.statis", mongoTemplateRef = "statisMongo")
public class StatisMongoMongoTemplate {
@Autowired
@Qualifier("statisMongoProperties")
private MongoProperties mongoProperties; @Primary
@Bean(name = "statisMongo")
public MongoTemplate statisMongoTemplate() throws Exception {
return new MongoTemplate(statisFactory(this.mongoProperties));
} @Bean
@Primary
public MongoDbFactory statisFactory(MongoProperties mongoProperties) throws Exception { ServerAddress serverAdress = new ServerAddress(mongoProperties.getUri()); return new SimpleMongoDbFactory(new MongoClient(serverAdress), mongoProperties.getDatabase()); }
}
  • list数据源配置

    和statis的配置很相似
@Configuration
@EnableMongoRepositories(basePackages = "com.kxlist.statistics.domain.list", mongoTemplateRef = "listMongo")
public class ListMongoTemplate {
@Autowired
@Qualifier("listMongoProperties")
private MongoProperties mongoProperties; @Bean(name = "listMongo")
public MongoTemplate listTemplate() throws Exception {
return new MongoTemplate(listFactory(this.mongoProperties));
} @Bean
public MongoDbFactory listFactory(MongoProperties mongoProperties) throws Exception { ServerAddress serverAdress = new ServerAddress(mongoProperties.getUri()); return new SimpleMongoDbFactory(new MongoClient(serverAdress), mongoProperties.getDatabase()); }
}

在相应的包下建立实体类和Repository就可以了。

首发地址

http://www.devzxd.top/2017/06/06/springboot-datasource-mongo.html

Spring Boot多数据源配置(二)MongoDB的更多相关文章

  1. spring boot多数据源配置(mysql,redis,mongodb)实战

    使用Spring Boot Starter提升效率 虽然不同的starter实现起来各有差异,但是他们基本上都会使用到两个相同的内容:ConfigurationProperties和AutoConfi ...

  2. spring boot(12)-数据源配置原理

    本篇讲的不仅是数据源配置,这也是spring boot实现自动配置的一部分.要理解数据源的配置原理,首先要理解第十篇tomcat连接池的配置 数据源配置源码 这里截取org.springframewo ...

  3. 三、Spring Boot 多数据源配置

    下面一个Java类是已经写好的根据配置文件动态创建多dataSource的代码,其原理也很简单,就是读取配置文件,根据配置文件中配置的数据源数量,动态创建dataSource并注册到Spring中. ...

  4. Spring Boot Druid数据源配置

    package com.hgvip.config; import com.alibaba.druid.pool.DruidDataSource; import com.alibaba.druid.su ...

  5. 21. Spring Boot Druid 数据源配置解析

    1.数据源配置属性类源码 package org.springframework.boot.autoconfigure.jdbc; @ConfigurationProperties( prefix = ...

  6. spring boot 多数据源配置与使用

    在介绍使用JdbcTemplate和Spring-data-jpa时,都使用了单数据源.在单数据源的情况下,Spring Boot的配置非常简单,只需要在application.properties文 ...

  7. Spring Boot多数据源配置与使用

    在单数据源的情况下,Spring Boot的配置非常简单,只需要在application.properties文件中配置连接参数即可.但是往往随着业务量发展,我们通常会进行数据库拆分或是引入其他数据库 ...

  8. Spring Boot (14) 数据源配置原理

    数据源配置源码 这里截取org.springframework.boot.autoconfigure.jdbc.DataSourceConfiguration的部分源码,主要介绍Tomcat和Hika ...

  9. Spring Boot☞ 多数据源配置(二):Spring-data-jpa

    效果图: 代码区: package com.wls.integrateplugs.datasource; import org.springframework.beans.factory.annota ...

随机推荐

  1. a=a+(a++);b=b+(++b);计算顺序,反汇编

    a=a+(a++); 013913BC mov eax,dword ptr [a] 013913BF add eax,dword ptr [a] 013913C2 mov dword ptr [a], ...

  2. LSD-SLAM使用方法

    preparation:按照官網步驟完成LSD的安裝. 1.testdata:need images file & cameraCalibration.cfg 2.開啟終端機    -> ...

  3. java设计模式——桥接模式

    一. 定义与类型 定义:将抽象部分与他的具体实现部分分离,使它们都可以独立的变化,通过组合的方式建立两个类之间的联系,而不是继承 类型:结构性. 二. 使用场景 (1) 抽象和具体实现之间增加更多的灵 ...

  4. jquery 添加和删除节点

    // 增加一个三和一节点 function addPanel() { // var newPanel = $('.my-panel').clone(true) var newPanel = $(&qu ...

  5. SpringBoot学习5:访问静态资源

    springboot默认从项目的resources里面的static目录下或者webapp目录下访问静态资源 方式一:在resources下新建static文件(文件名必须是static) 在浏览器中 ...

  6. 关于img底部空白

    <img>元素底部为何有空白? 问题: 最近听网课遇到这样一个问题,先po出代码如下: <!--html--> <div class="top"> ...

  7. python生成xml文件

    先上代码: #!/usr/bin/env python3 # _*_ coding: utf-8 _*_ from xml.dom.minidom import Document def readFi ...

  8. linux环境下nginx配置

    1.反向代理配置 #  nginx/conf/nginx.conf

  9. DNS的主从,转发与负载功能

    接着原来<DNS原理与应用>的文章,本章内容主要通过实现DNS的主从,转发,及基于域名解析不同的ip实现后端服务负载均衡的效果.最后再实现DNS的高级功能:类似CDN原理实现基于IP实现区 ...

  10. 交换机基础配置之stp生成树实验

    实验的要求是以上面的拓扑图为例,查看当前根桥的所在并把三成交换机switch1指定为根桥 我们可以用show spanning-tree来查看stp的信息 输入后会显示两部分 上面一部分为当前交换机自 ...