spring与mongo建立连接(进行身份认证)

一、使用xml配置mongo连接(不需要身份认证)

1、通过xml直接写死

        username:mongo数据库的用户名

        password:mongo数据库的密码

        host:mongo数据库的域名(本地可以使用127.0.0.1)

        port:mongo数据库的端口号(默认是27017)

        dbname:mongo数据库的访问库名

<mongo:db-factory id="mongoDbFactory" client-uri="mongodb://username:password@host:port/dbname"/>

2、通过配置文件配置

第一步在properties配置文件中定义一个“MONGO_URL”属性。

MONGO_URL=mongodb://username:password@host:port/dbname

第二步在xml文件中进行配置。

<mongo:db-factory id="mongoDbFactory" client-uri="${MONGO_URL}"/>

二、使用xml配置mongo连接(需要身份认证)

第一步在xml文件中添加一个mongo-client。

    MONGO_HOST:mongo数据库的域名(本地可以使用127.0.0.1)

    MONGO_PORT:mongo数据库的端口号(默认是27017)

    MONGO_USERNAME:mongo数据库的用户名

    MONGO_PASSWORD:mongo数据库的密码

    MONGO_AUTH:mongo数据库的认证名

注意:我这里的参数都是配置在配置文件中的,如果你是直接写死就不需要加“${}”。credentials参数一定是“用户名:密码@认证名”的形式,其中的“:“和”@”符号不要忘记)

<mongo:mongo-client id="mongo" host="${MONGO_HOST}" port="${MONGO_PORT}" credentials="${MONGO_USERNAME}:${MONGO_PASSWORD}@${MONGO_AUTH}" ></mongo:mongo-client>

第二步在xml文件中添加一个db-factory。

        MONGO_DATABASE:需要连接的mongo库名

注意:mongo-ref的参数是上面配置中的id属性值)

<mongo:db-factory id="mongoDbFactory"  dbname="${MONGO_DATABASE}" mongo-ref="mongo" />

三、源码解析

以上使用spring通过xml进行mongo身份认证已经完成。后面还需要配置mongoTemplate的bean。

<bean id="mongoTemplate" class="org.springframework.data.mongodb.core.MongoTemplate">
    <constructor-arg name="mongoDbFactory" ref="mongoDbFactory" />
</bean>

 这里重点讲解身份认证,首先进入spring的官方文档:https://spring.io/

1、点击“PROJECTS”

2、选择“SPRING DATA”

 

3、选择“spring Data MongoDB”

 

4、选择“Learn”

 

5、选择“Reference”

 打开文档后直接找到介绍使用xml配置连接的地方

 进去之后第一步就是让你创建com.mongodb.MongoClient容器,也就是我上面xml配置中的mongo-client。文档中也有代码示例。

译文:

虽然您可以使用Spring的传统<beans/>XML命名空间来注册com.mongodb.MongoClient容器的实例,但XML可能非常冗长,因为它是通用的。XML命名空间是配置常用对象(如Mongo实例)的更好选择。mongo命名空间允许您创建Mongo实例服务器位置,副本集和选项。

接着找到“MongoDbFactory使用基于XML的元数据注册实例”,这里就让我们创建一个db-factory来接收我们创建的com.mongodb.MongoClient容器。

译文:

如果需要在com.mongodb.MongoClient用于创建a 的实例上配置其他选项,则SimpleMongoDbFactory可以使用该mongo-ref属性引用现有bean,如以下示例所示。为了显示另一种常见的使用模式,下面的清单显示了属性占位符的使用,它允许您参数化配置和创建MongoTemplate

再往下就是创建mongoTemplate。

译文:

有几个重载的构造函数MongoTemplate

  • MongoTemplate(MongoClient mongo, String databaseName):采用MongoClient对象和默认数据库名称进行操作。

  • MongoTemplate(MongoDbFactory mongoDbFactory):使用封装了MongoClient对象,数据库名称以及用户名和密码的MongoDbFactory对象。

  • MongoTemplate(MongoDbFactory mongoDbFactory, MongoConverter mongoConverter):添加一个MongoConverter用于映射。

到此就可以完成mongo的连接工作,可是在以上的官方文档中并没有介绍如何进行mongo身份认证。别急我们接着往下找。

把目录翻到最后有一个认证,点击认证。

 

下图就是官方对mongo身份认证的介绍。 

 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring Data MongoDB是一个用于与MongoDB数据库进行交互的框架。它提供了一个简化和高效的方式来访问和操作MongoDB数据库,并使开发人员能够更容易地使用Spring框架来开发MongoDB应用程序。 Spring Data MongoDB的核心组件是MongoTemplate,它是一个线程安全的MongoDB操作模板类。通过MongoTemplate,我们可以进行诸如查询、插入、更新和删除等常见的数据库操作。 使用MongoTemplate,我们可以使用MongoDB的查询语言来进行数据库查询。通过构建一个查询对象,我们可以指定要查询的集合、查询的条件和排序等。除了基本的查询外,MongoTemplate还提供了一些更高级的查询方法,如聚合查询、分页查询和地理位置查询等。 对于插入、更新和删除操作,MongoTemplate提供了各种方法来执行这些操作。我们可以使用save()方法来插入或更新一个文档,使用delete()方法来删除一个或多个文档,并使用update()方法来更新一个或多个文档的值。 除了基本的操作外,MongoTemplate还提供了一些其他功能,如文档映射、索引管理和事务支持等。我们可以通过配置注解来定义文档和集合之间的映射关系,通过索引注解来定义索引,以提高查询性能。此外,Spring Data MongoDB还提供了对事务管理的支持,以确保在多个操作之间的一致性。 总之,Spring Data MongoDB是一个强大而灵活的框架,它为开发人员提供了一套简化和高效的API,用于与MongoDB数据库进行交互。通过MongoTemplate,我们可以轻松地进行查询、插入、更新和删除等常见的数据库操作,并享受到Spring框架的许多好处。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值