<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context" xmlns:mongo="http://www.springframework.org/schema/data/mongo"
xsi:schemaLocation="http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.3.xsd
http://www.springframework.org/schema/data/mongo http://www.springframework.org/schema/data/mongo/spring-mongo-1.10.xsd"
default-lazy-init="true">
<context:property-placeholder location="classpath:mongodb.properties"
ignore-unresolvable="true" />
<!-- 定义mongo对象,对应的是mongodb官方jar包中的Mongo,replica-set设置集群副本的ip地址和端口 -->
<!--credentials="${mongo.username}:${mongo.password}@${mongo.dbname}" -->
<mongo:mongo-client id="mongoClient" host="${mongo.host}" port="${mongo.port}" credentials="${mongo.username}:${mongo.password}@${mongo.dbname}" replica-set="${mongo.replica}">
<!-- 一些连接属性的设置 SAFE -->
<mongo:client-options
write-concern="${mongo.safe}"
connections-per-host="${mongo.connectionsPerHost}"
threads-allowed-to-block-for-connection-multiplier="${mongo.threadsAllowedToBlockForConnectionMultiplier}"
connect-timeout="${mongo.connectTimeout}"
max-wait-time="${mongo.maxWaitTime}"
socket-keep-alive="${mongo.socketKeepAlive}"
socket-timeout="${mongo.socketTimeout}" />
</mongo:mongo-client>
<mongo:db-factory id="mongoDbFactory" dbname="${mongo.dbname}" mongo-ref="mongoClient"/>
<bean id="mongoTemplate" class="org.springframework.data.mongodb.core.MongoTemplate">
<!-- <constructor-arg ref="mongoClient" /> -->
<!-- <constructor-arg name="databaseName" value="${mongo.dbname}" /> -->
<!-- <constructor-arg ref="userCredentials" /> -->
<constructor-arg name="mongoDbFactory" ref="mongoDbFactory"/>
</bean>
<!-- <bean id="userCredentials" class="org.springframework.data.authentication.UserCredentials">
<constructor-arg name="username" value="${mongo.username}" />
<constructor-arg name="password" value="${mongo.password}" />
</bean> -->
</beans>
在Spring文件中,
<import resource="spring-mongo.xml"/><!--导入mongodb配置文件-->
mongodb.properties
#------------ mongodb --------------
#\u5DF2\u5F00\u542Fmongo\u9A8C\u8BC1\u6743\u9650\uFF0C\u9700\u8981\u5728\u6570\u636E\u5E93\u6DFB\u52A0\u8FD9\u4E2A\u89D2\u8272\uFF0C\u5E76\u4E14\u62E5\u6709\u8BFB\u5199\u6743\u9650
mongo.host=数据库地址
mongo.dbname=数据库名
mongo.username=用户名
mongo.password=密码
mongo.connectionsPerHost=20
mongo.threadsAllowedToBlockForConnectionMultiplier=4
mongo.connectTimeout=20000
mongo.maxWaitTime=15000
mongo.autoConnectRetry=true
mongo.socketKeepAlive=true
mongo.socketTimeout=15000
mongo.slaveOk=true
mongo.safe=SAFE
mongo.port=数据库端口
mongo.replica=集群数据库地址:端口