亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專(zhuān)欄INFORMATION COLUMN

spring+mongodb的整合

gaara / 3531人閱讀

摘要:版本不支持支持為,如果使用并且使用,則會(huì)出現(xiàn)提示,編譯出錯(cuò)。掃描的倉(cāng)庫(kù)目錄,會(huì)自動(dòng)掃描擴(kuò)展了接口的接口進(jìn)行注入。

mongodb介紹

MongoDB 是一個(gè)基于分布式文件存儲(chǔ)的數(shù)據(jù)庫(kù)。由 C++ 語(yǔ)言編寫(xiě)。旨在為 WEB 應(yīng)用提供可擴(kuò)展的高性能數(shù)據(jù)存儲(chǔ)解決方案。
MongoDB 是一個(gè)介于關(guān)系數(shù)據(jù)庫(kù)和非關(guān)系數(shù)據(jù)庫(kù)之間的產(chǎn)品,是非關(guān)系數(shù)據(jù)庫(kù)當(dāng)中功能最豐富,最像關(guān)系數(shù)據(jù)庫(kù)的。

MongoDB is an open-source, document database designed for ease of development and scaling. The Manual introduces key concepts in MongoDB, presents the query language, and provides operational and administrative considerations and procedures as well as a comprehensive reference section.

引入mongodb的包

使用mongodb提供的java api包是:
org.mongodb:mongo-java-driver
與spring整合,則需要引入另一個(gè)包:
org.springframework.data:spring-data-mongodb

gradle引入配置:
    //mongodb
    compile "org.springframework.data:spring-data-mongodb:1.8.0.RELEASE"
    compile "org.mongodb:mongo-java-driver:3.1.0"
maven引入配置--maven倉(cāng)庫(kù):

    org.mongodb
    mongo-java-driver
    3.1.0


    org.springframework.data
    spring-data-mongodb
    1.8.0.RELEASE
mongodb配置

在spring的配置文件中,找到標(biāo)簽,加入mongo的xml命名空間:
xmlns:mongo="http://www.springframework.org/schema/data/mongo"
同時(shí)在xsi:schemaLocation加入xsd的定義:

http://www.springframework.org/schema/data/mongo
http://www.springframework.org/schema/data/mongo/spring-mongo.xsd
mongo-client

host是mongodb服務(wù)器的地址,默認(rèn)127.0.0.1;port是mongodb的服務(wù)器端口號(hào),默認(rèn)是27017。
如果需要認(rèn)證,在1.7版本后需要這樣寫(xiě):

credentials的配置形式是:用戶(hù)名:密碼@默認(rèn)數(shù)據(jù)庫(kù)

client-options

1.7版本+不支持mongo,支持mongo-client,options為client-options,如果使用mongo并且使用useCredentials,則會(huì)出現(xiàn)Usage of "UserCredentials" with "MongoClient" is no longer supported提示,編譯出錯(cuò)。
根據(jù)某些教程甚至是官網(wǎng)也能看到下面這種認(rèn)證配置,但是經(jīng)測(cè)試在1.8的版本中不起任何作用。

credentials="mongodb://${mongo.user}:${mongo.pwd}@${mongo.host}:${mongo.port}/${mongo.defaultDbName}"
mongoDbFactory
    

上面配置中,在1.7以前的版本中,用戶(hù)的認(rèn)證可以放在這一部分,但是1.7以后就會(huì)包上面useCredentials的錯(cuò)誤提示,所以,如果要認(rèn)證,就需要將用戶(hù)名和密碼等信息放在mongo-clientcredentials字段中。

下面給出1.7版本之前的配置:

    
mongoTemplate

mongoTemplate是spring提供的mongodb模板,有兩種配置方式。

方式1:
方式2:
bean id="mongoTemplate" class="org.springframework.data.mongodb.core.MongoTemplate">
        
    
GridFS Template

MongoDB GridFS Template 支持,操作mongodb存放的文件。


掃描MongoRepository

mongodb bean的倉(cāng)庫(kù)目錄,會(huì)自動(dòng)掃描擴(kuò)展了MongoRepository接口的接口進(jìn)行注入。

完整的配置



   
    

    

    
        
        
        
            
                
                classpath:conf/properties/*.properties
            
        
    

    
    
    
    
    
        
    

    
    

    
    
    
    


    
    
    

    
    

    
    

注意:這里面的spring的配置并不是完整的,至于你需要加載什么,另行配置。這里保留了bean和content的配置,主要開(kāi)啟注解配置需要content,而bean是spring的最基本的粒度,在spring中一切class皆為bean。

properties配置
mongo.host=127.0.0.1
mongo.port=27017
mongo.defaultDbName=log
mongo.user=joyven
mongo.pwd=123456
mongo.connectionsPerHost=10
mongo.threadsAllowedToBlockForConnectionMultiplier=5
mongo.minConnectionsPerHost=5
#連接超時(shí)時(shí)間
mongo.connectTimeout=10000
#等待時(shí)間
mongo.maxWaitTime=120000
#Socket超時(shí)時(shí)間
mongo.socketTimeout=0
mongo.socketKeepAlive=true

mongo.description=joyven test mongodb database
mongo.maxConnectionIdleTime=1500
mongo.maxConnectionLifeTime=0
#mongo slave
mongo.heartbeatSocketTimeout=1000
mongo.heartbeatConnectTimeout=1500
mongo.minHeartbeatFrequency=5
mongo.heartbeatFrequency=10

配置暫時(shí)就說(shuō)這么多,等有時(shí)間了寫(xiě)個(gè)demo,實(shí)現(xiàn)一個(gè)restful接口,效果如下:

圖1 restful api

圖2 yii2實(shí)現(xiàn)的數(shù)據(jù)展示

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/18873.html

相關(guān)文章

  • spring+mongodb整合

    摘要:版本不支持支持為,如果使用并且使用,則會(huì)出現(xiàn)提示,編譯出錯(cuò)。掃描的倉(cāng)庫(kù)目錄,會(huì)自動(dòng)掃描擴(kuò)展了接口的接口進(jìn)行注入。 mongodb介紹 MongoDB 是一個(gè)基于分布式文件存儲(chǔ)的數(shù)據(jù)庫(kù)。由 C++ 語(yǔ)言編寫(xiě)。旨在為 WEB 應(yīng)用提供可擴(kuò)展的高性能數(shù)據(jù)存儲(chǔ)解決方案。MongoDB 是一個(gè)介于關(guān)系數(shù)據(jù)庫(kù)和非關(guān)系數(shù)據(jù)庫(kù)之間的產(chǎn)品,是非關(guān)系數(shù)據(jù)庫(kù)當(dāng)中功能最豐富,最像關(guān)系數(shù)據(jù)庫(kù)的。 MongoD...

    warmcheng 評(píng)論0 收藏0
  • 兩年了,我寫(xiě)了這些干貨!

    摘要:開(kāi)公眾號(hào)差不多兩年了,有不少原創(chuàng)教程,當(dāng)原創(chuàng)越來(lái)越多時(shí),大家搜索起來(lái)就很不方便,因此做了一個(gè)索引幫助大家快速找到需要的文章系列處理登錄請(qǐng)求前后端分離一使用完美處理權(quán)限問(wèn)題前后端分離二使用完美處理權(quán)限問(wèn)題前后端分離三中密碼加鹽與中異常統(tǒng)一處理 開(kāi)公眾號(hào)差不多兩年了,有不少原創(chuàng)教程,當(dāng)原創(chuàng)越來(lái)越多時(shí),大家搜索起來(lái)就很不方便,因此做了一個(gè)索引幫助大家快速找到需要的文章! Spring Boo...

    huayeluoliuhen 評(píng)論0 收藏0
  • 如何整合Spring + SpringBoot + MyBatis + MongoDB

    摘要:我有個(gè)定時(shí)器,這個(gè)注解是讓它發(fā)現(xiàn)定時(shí)器讓它去發(fā)現(xiàn)你的層如果你在創(chuàng)建項(xiàng)目的時(shí)候,忘記勾選某一些依賴(lài)的話(huà)不要緊,可以在文件里添加依賴(lài)。 前言 我之前是學(xué)SpringMVC的,后面聽(tīng)同學(xué)說(shuō)SpringBoot挺好用,極力推薦我學(xué)這個(gè)鬼。一開(kāi)始,在網(wǎng)上找SpringBoot的學(xué)習(xí)資料,他們博文寫(xiě)得不是說(shuō)不好,而是不太詳細(xì)。我就在想我要自己寫(xiě)一篇盡可能詳細(xì)的文章出來(lái)。 技術(shù)棧 Spring S...

    garfileo 評(píng)論0 收藏0
  • 如何整合Spring + SpringBoot + MyBatis + MongoDB

    摘要:我有個(gè)定時(shí)器,這個(gè)注解是讓它發(fā)現(xiàn)定時(shí)器讓它去發(fā)現(xiàn)你的層如果你在創(chuàng)建項(xiàng)目的時(shí)候,忘記勾選某一些依賴(lài)的話(huà)不要緊,可以在文件里添加依賴(lài)。 前言 我之前是學(xué)SpringMVC的,后面聽(tīng)同學(xué)說(shuō)SpringBoot挺好用,極力推薦我學(xué)這個(gè)鬼。一開(kāi)始,在網(wǎng)上找SpringBoot的學(xué)習(xí)資料,他們博文寫(xiě)得不是說(shuō)不好,而是不太詳細(xì)。我就在想我要自己寫(xiě)一篇盡可能詳細(xì)的文章出來(lái)。 技術(shù)棧 Spring S...

    xiaokai 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<