Mongodb與spring整合

來源:互聯網
上載者:User

這裡我們用到的是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實現增刪改查和複雜查詢

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.