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

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

1、通过xml直接写死

        username:mongo数据库的用户名

        password:mongo数据库的密码

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

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

        dbname:mongo数据库的访问库名

2、通过配置文件配置

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

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

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

二、使用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参数一定是“用户名:密码@认证名”的形式,其中的“:“和”@”符号不要忘记)

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

        MONGO_DATABASE:需要连接的mongo库名

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

三、源码解析

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


    

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

1、点击“PROJECTS”

spring与mongo建立连接(进行身份认证)_第1张图片

2、选择“SPRING DATA”

spring与mongo建立连接(进行身份认证)_第2张图片 

3、选择“spring Data MongoDB”

spring与mongo建立连接(进行身份认证)_第3张图片 

4、选择“Learn”

spring与mongo建立连接(进行身份认证)_第4张图片 

5、选择“Reference”

spring与mongo建立连接(进行身份认证)_第5张图片

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

spring与mongo建立连接(进行身份认证)_第6张图片

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

译文:

虽然您可以使用Spring的传统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身份认证。别急我们接着往下找。

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

spring与mongo建立连接(进行身份认证)_第7张图片 

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

spring与mongo建立连接(进行身份认证)_第8张图片 

你可能感兴趣的:(mongo,spring)