Spring集成MongoDB

本文介绍了在业务需求下将MySQL转换为MongoDB的过程,详细讲述了Spring集成MongoDB的配置,包括所需依赖包如mongo-java-driver和spring-data-mongodb,以及它们的版本匹配问题。在配置MongoDB相关属性和Spring的applicationcontext后,通过MongoTemplate和MongoRepository接口实现了对MongoDB的CRUD操作。文章强调了版本兼容性的重要性,并分享了遇到的问题和解决方案。
摘要由CSDN通过智能技术生成

业务需要,某个功能模块需要从原先的MySQL关系型数据库转换为非关系型的NoSQL数据库MongoDB。
之前的项目使用的是传统的SSH架构(Spring+SpringMVC+Hibernate),不像现在流行的SpringBoot,集成MongoDB还是需要做一些配置才能完成。
配置过程中最需要注意的一点在于相关依赖的版本。

Spring集成MongoDB的依赖包

需要依赖两个包:

mongo-java-driver

这是一个驱动包,封装了MongoDB的一些类型和操作接口,譬如BasicDBObject,BasicDBList,MongoClient等。这个包不是Spring框架下的,而是Java对MongoDB进行操作可以直接使用的一个包;

spring-data-mongodb

这是一个Spring框架下的包,针对MongoDB的操作进行了封装,属于Spring Data的一个子项目,提供了对MongoDB进行CRUD的统一接口,可以通过继承MongoRepository来使用JPA的方式进行操作。另外也可以通过MongoTemplate等接口来进行操作。这是在mongo-java-driver之上的一层封装。

包依赖关系

这里写图片描述
由上图可见,spring-data-mongo依赖于mongo-java-driver,另外还依赖spring-data-commons。

MongoDB相关配置

首先配置一下MongoDB的相关属性,譬如数据库URL以及端口等等。

mongo.host=localhost
mongo.port=27017
mongo.connectionsPerHost=100
mongo.minConnectionsPerHost=10
mongo.threadsAllowedToBlockForConnectionMultiplier=4
mongo.maxWaitTime=5000
mongo.maxConnectionIdleTime=10000
mongo.maxConnectionLifeTime=100000
mongo.connectTimeout=1000
mongo.socketTimeout=1500
mongo.socketKeepAlive=true
mongo.serverSelectionTimeout=30000

这里设置了Mongo的一些相关属性,譬如主机,端口,超时时间等等。
这些属性要在Spring的配置文件中使用,从而进行集成。如果直接使用MongoClient,MongoCollection等接口进行操作,不通过Spring进行集成,则可以直接在代码中指定,无需增加这些properties配置文件。

applicationcontext配置

接着要进行Spring的集成,通过在applicationcontext.xml中进行相关配置。
①首先引入mongo的命名空间

xmlns:mongo=
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值