日期:2014-05-16  浏览次数:20521 次

spring整合mongoDB-1
nosql已经火了很久,最近才真的用上,落伍了。

为什么选mongodb

mongodb有很多优点,比如模式自由、强大的查询、简单易用等。我们选中它的主要原因是:它对查询功能较为强大,可以用js写复杂的查询。

推荐的学习资料

官方文档请看:http://www.mongodb.org/display/DOCS/Home
nosql产品对比:http://kkovacs.eu/cassandra-vs-mongodb-vs-couchdb-vs-redis
英文不好的可以看:《MongoDB权威指南》、《MongoDB实战》等

为什么选spring data的
mongoDB的java驱动程序使用起来较为繁琐,特别是处理关联关系多、层次深的情况时。需要书写大量的构造DBObject的代码。遇到这样的问题第一个肯定想到“万金油”spring。

spring data对很多nosql产品都有支持,比如redis、hbase、mongodb、neo4j等。如果工程已经使用了spring,引入spring data应该也还可以接受。

spring-data-mongodb依赖的jar
我使用的spring-data-mongodb版本为1.1.0,依赖jar如下:spring-data-commons-core-1.4.0.RELEASE.jar、spring-data-mongodb-1.1.0.RELEASE.jar、mongo-java-driver-2.9.1.jar。

推荐使用maven,dapendency来这里找,但是建议直接上1.1.0.RELEASE:
http://www.springsource.org/spring-data/mongodb

需要注意的是,我一开始使用spring-data-mongodb 1.0.3.RELEASE,spring用3.0.x,结果遇到了一些问题,
java.lang.NoClassDefFoundError: org/springframework/data/mapping/context/MappingContext