1. 程式人生 > >在spring中配置mongodb的使用者名稱和密碼

在spring中配置mongodb的使用者名稱和密碼

1、在spring的配置檔案中

<?xmlversion="1.0"encoding="UTF-8"?>

<beansxmlns="http://www.springframework.org/schema/beans"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns:p="http://www.springframework.org/schema/p"

xmlns:aop="http://www.springframework.org/schema/aop"

xmlns:tx="http://www.springframework.org/schema/tx"

xmlns:context="http://www.springframework.org/schema/context"

xsi:schemaLocation="http://www.springframework.org/schema/beans 

        http://www.springframework.org/schema/beans/spring-beans-3.0.xsd

        http://www.springframework.org/schema/aop     

        http://www.springframework.org/schema/aop/spring-aop-3.0.xsd   

        http://www.springframework.org/schema/tx

        http://www.springframework.org/schema/tx/spring-tx-3.0.xsd

        http://www.springframework.org/schema/context     

        http://www.springframework.org/schema/context/spring-context-3.0.xsd">

<!-- 開啟Spring的Annotation支援 -->

<context:annotation-config/>

<!-- 設定Spring 去哪些包中找Annotation -->

<context:component-scanbase-package="com.sy.gms"/>

<!-- 實體對映 -->

<beanid="packagesToScan"class="org.springframework.beans.factory.config.ListFactoryBean">

        <property name="sourceList">  

            <list>  

                <value>com.sy.gms.model</value>  

            </list>  

        </property>  

    </bean>  

<!-- 配置mongodb的使用者及密碼 -->

<beanid="userCredentials"class="org.springframework.data.authentication.UserCredentials">

<constructor-argname="username"value="ebank"/>

<constructor-argname="password"value="ebank"/>

   </bean>

<!--引入 quartz 任務 -->

<!-- <import resource="quartz.xml"/> -->

<!-- 匯入mongodb的配置檔案 -->

<importresource="mongodb-context.xml"/>

</beans>

在配置檔案中配置一個org.springframework.data.authentication.UserCredentials的bean,把這個bean引入到mongoldb的配置檔案中

<!-- 配置mongodb的使用者及密碼 -->

<beanid="userCredentials"class="org.springframework.data.authentication.UserCredentials">

<constructor-argname="username"value="ebank"/>

<constructor-argname="password"value="ebank"/>

   </bean>


在mongodb的配置檔案中:

<?xmlversion="1.0"encoding="UTF-8"?>

<beansxmlns="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">

<context:property-placeholderlocation="classpath:mongodb.properties"/>

<mongo:mongoid="mongo"replica-set="${mongo.hostport}">

<mongo:optionsconnections-per-host="${mongo.connectionsPerHost}"

threads-allowed-to-block-for-connection-multiplier="${mongo.threadsAllowedToBlockForConnectionMultiplier}"

connect-timeout="${mongo.connectTimeout}"

max-wait-time="${mongo.maxWaitTime}"

auto-connect-retry="${mongo.autoConnectRetry}"

socket-keep-alive="${mongo.socketKeepAlive}"

socket-timeout="${mongo.socketTimeout}"

slave-ok="${mongo.slaveOk}"

             write-number="1"

             write-timeout="0"

             write-fsync="true"/>

</mongo:mongo>

<mongo:db-factorydbname="database"mongo-ref="mongo"/>

<beanid="mongoTemplate"class="org.springframework.data.mongodb.core.MongoTemplate">

<constructor-argref="mongo"/>

<constructor-argname="databaseName"value="ebank"/>

<constructor-argref="userCredentials"/>

    </bean>

</beans>

引入在spring配置的userCredentials 即可