Mongodb与spring集成


这里我们用到的是spring-data中一个集成mongodb的项目,首先在maven中添加对它的依赖,这里我用的是1.0.0.M5版本

  1. <!-- mongodb spring -->  
  2. <dependency>  
  3.     <groupId>org.springframework.data</groupId>  
  4.     <artifactId>spring-data-mongodb</artifactId>  
  5.     <version>1.0.0.M5</version>  
  6. </dependency>  

然后是配置文件

  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <beans xmlns="http://www.springframework.org/schema/beans"  
  3.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"  
  4.     xmlns:mongo="http://www.springframework.org/schema/data/mongo"  
  5.     xsi:schemaLocation="http://www.springframework.org/schema/context  
  6.           http://www.springframework.org/schema/context/spring-context-3.0.xsd  
  7.           http://www.springframework.org/schema/data/mongo  
  8.           http://www.springframework.org/schema/data/mongo/spring-mongo-1.0.xsd  
  9.           http://www.springframework.org/schema/beans  
  10.           http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">  
  11.     <context:property-placeholder location="classpath*:META-INF/mongodb/mongodb.properties"/>  
  12.       
  13.     <!-- 定义mongo对象,对应的是mongodb官方jar包中的Mongo,replica-set设置集群副本的ip地址和端口 -->  
  14.     <mongo:mongo id="mongo" replica-set="localhost:27017">  
  15.         <!-- 一些连接属性的设置 -->      
  16.         <mongo:options  
  17.              connections-per-host="${mongo.connectionsPerHost}"  
  18.              threads-allowed-to-block-for-connection-multiplier="${mongo.threadsAllowedToBlockForConnectionMultiplier}"  
  19.              connect-timeout="${mongo.connectTimeout}"  
  20.              max-wait-time="${mongo.maxWaitTime}"  
  21.              auto-connect-retry="${mongo.autoConnectRetry}"  
  22.              socket-keep-alive="${mongo.socketKeepAlive}"  
  23.              socket-timeout="${mongo.socketTimeout}"  
  24.              slave-ok="${mongo.slaveOk}"  
  25.              write-number="1"  
  26.              write-timeout="0"  
  27.              write-fsync="true"/>          
  28.     </mongo:mongo>  
  29.   
  30.     <!-- mongo的工厂,通过它来取得mongo实例,dbname为mongodb的数据库名,没有的话会自动创建 -->  
  31.     <mongo:db-factory dbname="test" mongo-ref="mongo"/>  
  32.   
  33.     <!-- mongodb的主要操作对象,所有对mongodb的增删改查的操作都是通过它完成 -->  
  34.     <bean id="mongoTemplate" class="org.springframework.data.mongodb.core.MongoTemplate">  
  35.       <constructor-arg name="mongoDbFactory" ref="mongoDbFactory"/>  
  36.     </bean>  
  37.       
  38.     <!-- 映射转换器,扫描back-package目录下的文件,根据注释,把它们作为mongodb的一个collection的映射 -->  
  39.     <mongo:mapping-converter base-package="com.xxx.xxx.domain" />  
  40.       
  41.     <!-- mongodb bean的仓库目录,会自动扫描扩展了MongoRepository接口的接口进行注入 -->  
  42.     <mongo:repositories base-package="com.xxx.xxx.persist.mongodb"/>  
  43.   
  44.     <!-- To translate any MongoExceptions thrown in @Repository annotated classes -->  
  45.     <context:annotation-config />  
  46.       
  47. </beans>  

这样基本配置就完成了,其它深入操作将在后续文章中说明。

  • 1
  • 2
  • 3
  • 下一页
【内容导航】
第1页:配置 第2页:实体映射
第3页:MongoRepository实现增删改查和复杂查询

相关内容