Spring Boot中的Mongodb多数据源扩展

栏目: Java · 发布时间: 6年前

内容简介:在日常工作中,我们通过Spring Data Mongodb来操作Mongodb数据库,在Spring Boot中只需要引入spring-boot-starter-data-mongodb即可。然后配置连接信息如下:或者

在日常工作中,我们通过Spring Data Mongodb来操作 Mongodb 数据库,在Spring Boot中只需要引入spring-boot-starter-data-mongodb即可。

然后配置连接信息如下:

spring.data.mongodb.uri=mongodb://localhost:27017/test

或者

pring.data.mongodb.authentication-database= # Authentication database name.
spring.data.mongodb.database=test # Database name.
spring.data.mongodb.host=localhost # Mongo server host.
spring.data.mongodb.password= # Login password of the mongo server.
spring.data.mongodb.port=27017 # Mongo server port.
spring.data.mongodb.username= # Login user of the mongo server.

spring-boot-starter-data-mongodb提供了两种配置方式,分别是uri和host方式。uri可以配置多个地址,也就是集群的配置方式。host只能连接一个节点。

当在一个项目中需要连接多个数据库的时候,spring-boot-starter-data-mongodb的自动配置无法满足需求,所以我这边封装了一个多数据源的Mongodb spring-boot-starter。

之前关于多数据源的使用写了篇文章: spring-boot-starter-mongodb-pool

由于是第一个版本,有些东西没考虑到,最近更新了下,加了一些内容,升级到Spring Boot 2.0版本。

Github: https://github.com/yinjihuan/...

首先还是简单的介绍下如何使用:

配置仓库地址:

<repositories>
    <repository>
        <id>jitpack.io</id>
        <url>https://www.jitpack.io</url>
    </repository>
</repositories>

配置最新版本,只支持Spring Boot 2.0

<dependency>
    <groupId>com.github.yinjihuan</groupId>
    <artifactId>spring-boot-starter-mongodb-pool</artifactId>
    <version>2.0.2</version>
</dependency>

我这边配置方式也是uri和host两种,uri的话是只配置mongo节点信息,跟默认的uri格式不一样,不包含用户信息和连接参数。

URI配置集群

spring.data.mongodb.testMongoTemplate.uri=localhost:27017,localhost:27018
spring.data.mongodb.testMongoTemplate.username=yinjihuan
spring.data.mongodb.testMongoTemplate.password=123456
spring.data.mongodb.testMongoTemplate.database=test
spring.data.mongodb.testMongoTemplate.authenticationDatabase=admin

HOST方式配置

spring.data.mongodb.testMongoTemplate.host=localhost
spring.data.mongodb.testMongoTemplate.port=27017
spring.data.mongodb.testMongoTemplate.database=test
spring.data.mongodb.testMongoTemplate.username=yinjihuan
spring.data.mongodb.testMongoTemplate.password=123456

testMongoTemplate就是我们用来操作test数据库的MongoTemplate对象,框架会自动为你创建好,只需要注入使用就可以了。

@Autowired
@Qualifier("testMongoTemplate")
private MongoTemplate testMongoTemplate;

多数据源就配置多个MongoTemplate就行了,比如:

spring.data.mongodb.testMongoTemplate.host=localhost
spring.data.mongodb.testMongoTemplate.port=27017
spring.data.mongodb.testMongoTemplate.database=test
spring.data.mongodb.testMongoTemplate.username=yinjihuan
spring.data.mongodb.testMongoTemplate.password=123456

spring.data.mongodb.test2MongoTemplate.host=localhost
spring.data.mongodb.test2MongoTemplate.port=27017
spring.data.mongodb.test2MongoTemplate.database=test2
spring.data.mongodb.test2MongoTemplate.username=yinjihuan
spring.data.mongodb.test2MongoTemplate.password=123456

操作哪个数据库就注入哪个对象:

@Autowired
@Qualifier("testMongoTemplate")
private MongoTemplate testMongoTemplate;

@Autowired
@Qualifier("test2MongoTemplate")
private MongoTemplate test2MongoTemplate;

更新说明

  • 支持Spring Boot 2.x版本

第一个版本1.0.0只支持Spring Boot的1.x版本

  • 加上用户认证配置

第一个版本1.0.0中没有加账号密码认证逻辑

  • 支持集群地址配置

通过uri配置集群信息

想了解框架实现细节的请移步: http://cxytiandi.com/course

Spring Boot中的Mongodb多数据源扩展


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

计算几何

计算几何

奥罗克 / 机械工业 / 2005-4 / 49.00元

本书介绍了在计算机图形学、机器人和工业设计领域逐渐兴起的几何算法的设计和实现。计算几何中使用的基本技术包括多边形三角剖分、凸包、Voronoi图、排列、几何查找、运动计划等。虽然自主处理只涉及数学基础知识领域的一部分,但是它却和当今该研究领域的前沿课题相关。因此,专业的程序员会发现本书是一本不可多得的参考书。   与上一版相比,本版包括以下几方面的新内容:多边形三角剖分的随机化算法、平面点定......一起来看看 《计算几何》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

在线进制转换器
在线进制转换器

各进制数互转换器

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试