spring mongodb的常規配置
application-context-repository.xml(配置文件)
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:mongo="http://www.springframework.org/schema/data/mongo"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:task="http://www.springframework.org/schema/task"
xsi:schemaLocation="http://www.springframework.org/schema/data/mongo http://www.springframework.org/schema/data/mongo/spring-mongo.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/task
http://www.springframework.org/schema/task/spring-task-3.0.xsd
">
<!-- 向 Spring 容器注冊AutowiredAnnotationBeanPostProcessor、
CommonAnnotationBeanPostProcessor、PersistenceAnnotationBeanPostProcessor
以及 RequiredAnnotationBeanPostProcessor 這 4 個BeanPostProcessor。
注冊這4個 BeanPostProcessor的作用,就是為了能夠識別相應的注解 -->
<context:annotation-config />
<!-- Spring定時器注解開關-->
<task:annotation-driven />
<!-- 使用注解一般都會配置掃描包路徑選項 -->
<context:component-scan base-package="com.studyspring.mongodb" />
<!-- 讀取mongodb.properties文件 -->
<context:property-placeholder location="classpath:mongodb.properties"/>
<!-- 配置mongo數據庫 -->
<mongo:mongo host="${mongo.host}" port="${mongo.port}">
</mongo:mongo>
<!-- 通過工廠Bean創建mongo連接實例-->
<mongo:db-factory id="mongoDbFactory" dbname="${mongo.database}" username="${mongo.user}" password="${mongo.password}"/>
<!-- 映射轉換器,掃描back-package目錄下的文件,根據注釋,把它們作為mongodb的一個collection的映射 -->
<mongo:mapping-converter base-package="com.studyspring.mongodb.converter" id="customCVT">
<mongo:custom-converters base-package="com.studyspring.mongodb.converter" />
</mongo:mapping-converter>
<!-- mongodb的主要操作對象,所有對mongodb的增刪改查的操作都是通過它完成 -->
<bean id="mongoTemplate" class="org.springframework.data.mongodb.core.MongoTemplate">
<constructor-arg name="mongoDbFactory" ref="mongoDbFactory"/>
<constructor-arg ref="customCVT"/>
<property name="writeConcern" value="SAFE" />
</bean>
<!-- mongodb bean的倉庫目錄,會自動掃描擴展了MongoRepository接口的接口進行注入 -->
<mongo:repositories base-package="com.studyspring.mongodb.repositories"/>
<!-- 日志事件監聽 -->
<bean class="org.springframework.data.mongodb.core.mapping.event.LoggingEventListener"/>
</beans>