spring-data-mongodb之环境准备(1)

时间:2022-05-06
本文章向大家介绍spring-data-mongodb之环境准备(1),主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

来源:猿天地

链接:http://cxytiandi.com/blog/detail/1717

首先创建一个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

源码地址:查看原文进行源码下载