成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

spring+mongodb的整合

gaara / 3485人閱讀

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

mongodb介紹

MongoDB 是一個(gè)基于分布式文件存儲(chǔ)的數(shù)據(jù)庫(kù)。由 C++ 語(yǔ)言編寫。旨在為 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版本后需要這樣寫:

credentials的配置形式是:用戶名:密碼@默認(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以前的版本中,用戶的認(rèn)證可以放在這一部分,但是1.7以后就會(huì)包上面useCredentials的錯(cuò)誤提示,所以,如果要認(rèn)證,就需要將用戶名和密碼等信息放在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的配置,主要開啟注解配置需要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í)就說這么多,等有時(shí)間了寫個(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://systransis.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ǔ)言編寫。旨在為 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
  • 兩年了,我寫了這些干貨!

    摘要:開公眾號(hào)差不多兩年了,有不少原創(chuàng)教程,當(dāng)原創(chuàng)越來越多時(shí),大家搜索起來就很不方便,因此做了一個(gè)索引幫助大家快速找到需要的文章系列處理登錄請(qǐng)求前后端分離一使用完美處理權(quán)限問題前后端分離二使用完美處理權(quán)限問題前后端分離三中密碼加鹽與中異常統(tǒng)一處理 開公眾號(hào)差不多兩年了,有不少原創(chuàng)教程,當(dāng)原創(chuàng)越來越多時(shí),大家搜索起來就很不方便,因此做了一個(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í)候,忘記勾選某一些依賴的話不要緊,可以在文件里添加依賴。 前言 我之前是學(xué)SpringMVC的,后面聽同學(xué)說SpringBoot挺好用,極力推薦我學(xué)這個(gè)鬼。一開始,在網(wǎng)上找SpringBoot的學(xué)習(xí)資料,他們博文寫得不是說不好,而是不太詳細(xì)。我就在想我要自己寫一篇盡可能詳細(xì)的文章出來。 技術(shù)棧 Spring S...

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

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

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

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

0條評(píng)論

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