首页 > 代码库 > [Spring Data MongoDB]学习笔记--注册一个Mongo实例

[Spring Data MongoDB]学习笔记--注册一个Mongo实例

1. 通过Java based bean metadata

@Configurationpublic class AppConfig {public @Bean Mongo mongo() throws UnknownHostExceptioin {return new Mongo("localhost");}}

上面的方式包含异常处理,这并不是我们想要的。

所以,应该尽量用下面这种方式MongoFactoryBean,或者后面的xml方式。

@Configurationpublic class AppConfig {public @Bean MongoFactoryBean mongo(){MongoFactoryBean mongo = new MongoFactoryBean();mongo.setHost("localhost");return mongo;}}

2. 通过XML based metadata

<?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:context="http://www.springframework.org/schema/context"          xmlns:mongo="http://www.springframework.org/schema/data/mongo"          xsi:schemaLocation=          "http://www.springframework.org/schema/context          http://www.springframework.org/schema/context/spring-context-3.0.xsd          http://www.springframework.org/schema/data/mongo          http://www.springframework.org/schema/data/mongo/spring-mongo-1.0.xsd          http://www.springframework.org/schema/beans          http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">    <!-- Default bean name is ‘mongo‘ -->    <mongo:mongo host="localhost" port="27017"/></beans>

带有MongoOptions的更详细的配置可以如下,但是其中的值不是推荐值。

<beans>  <mongo:mongo host="localhost" port="27017">    <mongo:options connections-per-host="8"                   threads-allowed-to-block-for-connection-multiplier="4"                   connect-timeout="1000"                   max-wait-time="1500}"                   auto-connect-retry="true"                   socket-keep-alive="true"                   socket-timeout="1500"                   slave-ok="true"                   write-number="1"                   write-timeout="0"                   write-fsync="true"/>  </mongo:mongo/></beans>

副本配置

<mongo:mongo id="replicaSetMongo" replica-set="127.0.0.1:27017,localhost:27018"/>