资讯专栏INFORMATION COLUMN

Spring Boot中的Mongodb多数据源扩展

suemi / 3000人阅读

摘要:在日常工作中,我们通过来操作数据库,在中只需要引入即可。当在一个项目中需要连接多个数据库的时候,的自动配置无法满足需求,所以我这边封装了一个多数据源的。

在日常工作中,我们通过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/...

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

配置仓库地址:


    
        jitpack.io
        https://www.jitpack.io
    

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


    com.github.yinjihuan
    spring-boot-starter-mongodb-pool
    2.0.2

我这边配置方式也是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

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/74299.html

相关文章

  • Spring Boot 中使用 MongoDB 增删改查

    摘要:声明构造函数,作用是把从数据库取出的数据实例化为对象。该构造函数传入的值为从中取出的数据省略接口提供增删改查接口实现提供增删改查接口实现提供了一个类似于的设计的类。 本文快速入门,MongoDB 结合SpringBoot starter-data-mongodb 进行增删改查 1、什么是MongoDB ? MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。...

    ranwu 评论0 收藏0
  • 两年了,我写了这些干货!

    摘要:开公众号差不多两年了,有不少原创教程,当原创越来越多时,大家搜索起来就很不方便,因此做了一个索引帮助大家快速找到需要的文章系列处理登录请求前后端分离一使用完美处理权限问题前后端分离二使用完美处理权限问题前后端分离三中密码加盐与中异常统一处理 开公众号差不多两年了,有不少原创教程,当原创越来越多时,大家搜索起来就很不方便,因此做了一个索引帮助大家快速找到需要的文章! Spring Boo...

    huayeluoliuhen 评论0 收藏0
  • Apollo:微服务架构下的配置管理

    摘要:比如使用的时候指定使用哪个环境的配置在微服务架构下,服务的数量会比之前的单体应用多,部署的节点数量也会很多。今天主要是讲下在中如何对接进行配置管理。 问题背景 在实际工作中,我们的开发环境,测试环境,生产环境对应的 Mysql 数据库,Redis 这些信息都不一样,每个环境都有对应的一套配置,在 Spring Boot 中我们通常会编写多个配置文件,也就是每个环境一个配置文件。 比如:...

    cloud 评论0 收藏0
  • MongoDB最简单的入门教程之四:使用Spring Boot操作MongoDB

    摘要:是一个轻量级框架,可以完成基于的应用程序的大部分配置工作。本文介绍如何使用操作,通过代码在里插入数据。首先按照这个教程的第一篇文章的介绍,在本地搭建好的环境最简单的入门教程之一环境搭建。 Spring Boot 是一个轻量级框架,可以完成基于 Spring 的应用程序的大部分配置工作。Spring Boot的目的是提供一组工具,以便快速构建容易配置的Spring应用程序,省去大量传统S...

    Lavender 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<