spring-data-mongodb之环境准备     


首先创建一个maven工程,添加spring-data-mongodb的依赖,这边我们用目前最新的1.9.2版本,mongodb用3.0以上的,jdk用的1.8。


<dependency>
    <groupId>org.springframework.data</groupId>
    <artifactId>spring-data-mongodb</artifactId>
    <version>1.9.2.RELEASE</version>
</dependency>


然后在resources下面添加applicationContext.xml文件,增加mongo的连接配置信息,下面只贴一部分,全部的在源码中查看。


<!-- 连接池配置 -->
<mongo:mongo id="mongo" replica-set="${mongo.replicaSet}">
    <mongo:options connections-per-host="${mongo.connectionsPerHost}"
	threads-allowed-to-block-for-connection-multiplier="${mongo.threadsAllowedToBlockForConnectionMultiplier}"
	connect-timeout="${mongo.connectTimeout}" max-wait-time="${mongo.maxWaitTime}"
	auto-connect-retry="${mongo.autoConnectRetry}" socket-keep-alive="${mongo.socketKeepAlive}"
	socket-timeout="${mongo.socketTimeout}" slave-ok="${mongo.slaveOk}"
	write-number="${mongo.writeNumber}" write-timeout="${mongo.riteTimeout}"
	write-fsync="${mongo.writeFsync}" />
</mongo:mongo>

<!-- Mongodb的模板 -->
<bean id="mongoTemplate" class="org.springframework.data.mongodb.core.MongoTemplate">
    <constructor-arg name="mongoDbFactory" ref="mongoDbFactory" />
    <constructor-arg name="mongoConverter" ref="mappingConverter" />
</bean>


resources下面添加mongo.properties文件,增加连接配置信息。


#mongo info
mongo.replicaSet=127.0.0.1:27017  
mongo.connectionsPerHost=8  
mongo.threadsAllowedToBlockForConnectionMultiplier=4  
mongo.connectTimeout=1000  
mongo.maxWaitTime=1500  
mongo.autoConnectRetry=true  
mongo.socketKeepAlive=true  
mongo.socketTimeout=1500
mongo.slaveOk=true 
mongo.writeNumber=1  
mongo.riteTimeout=0
mongo.writeFsync=true
mongo.username=cxytiandi
mongo.password=cxytiandi
mongo.db=cxytiandi


最后创建测试类,看看是否能正确连上mongodb


package com.cxytiandi.test;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.data.mongodb.core.MongoTemplate;
/**
 * 测试类
 * @author yinjihuan
 *
 */
public class SpringMongoClient {
	private static MongoTemplate mongoTemplate;
	
	static {
	    //加载spring
	    ApplicationContext ac = new ClassPathXmlApplicationContext("classpath:applicationContext.xml");
	    mongoTemplate = (MongoTemplate) ac.getBean("mongoTemplate");
	}
	
	public static void main(String[] args)  throws Exception {
	    //读取所有的集合名称
	    mongoTemplate.getCollectionNames().forEach(System.out::println);
	}
}


输出结果如下,库中有多少集合就会输出多少


SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".

SLF4J: Defaulting to no-operation (NOP) logger implementation

SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.

fs.chunks

fs.files


源码下载

扫描下方二维码,加入Java方向技术交流讨论群。暗号:加群