欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

SpringBoot與MongoDB版本對照一覽

 更新時間:2024年06月03日 14:35:46   作者:一恍過去  
這篇文章主要介紹了SpringBoot與MongoDB版本對照一覽,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

SpringBoot與MongoDB版本對照參考

版本參考

參考地址:https://docs.spring.io/spring-data/mongodb/docs/3.2.4/reference/html/#compatibility.matrix

版本查詢

SpringBoot整合MongoDB時,需要引入spring-boot-starter-data-mongodb依賴,為了保證兼容性,需要pring-boot-starter-data-mongodb版本與MongoDB對應(yīng)。

查詢流程如下截圖:

比如:

SpringBoot版本為2.3.2;

Spring-boot-starter-data-mongodb版本為:3.0.2

所以對應(yīng)的MongoDBServerVersion版本為:4.4.x

MongoDB整合Spring的版本選擇問題

如果項目使用的是springboot的那就非常輕松,直接一步到位!如果是springmvc的請繼續(xù)看!

最近在項目中整合MongoDB,項目用的是Spring,各種報錯,找不到方法啊,xml一直報紅啊,配置好,運行的時候又是各種錯誤,各種調(diào)試??偹阏鰜砹?,整的過程就不說了,這邊直接整理一下,什么版本要對應(yīng)什么版本。方便有需要的朋友能少走一個坑!

MongoDB的版本沒有關(guān)系,我都是直接用的最新版,主要問題是,mongoDB的java驅(qū)動包版本以及跟spring整合的jar包版本。

首先來說下MongDB的java驅(qū)動包,他有1.X的,2.X的,3.X的,這邊1.X的不討論,太久遠(yuǎn)了。我們討論2.X的,和3.X的,這邊貼下

MongoDB Java Driver 的版本

網(wǎng)頁太長。。湊活著看,大概意思就是說分為2.X和3.X版本。

為了方便大家,這個是Maven倉庫網(wǎng)址:https://mvnrepository.com/ 速度還挺快的,方便搜索。

接下來一一介紹:

MongoDB Java Drriver 2.X版本

對應(yīng)的Spirng框架版本是4.X的,使用的spring-data-mongodb是1.X的版本。千萬不要選2.x版本。會出問題。

這是maven配置:

        <!--MongoBD-Spring整合-->
        <dependency>
            <groupId>org.mongodb</groupId>
            <artifactId>mongo-java-driver</artifactId>
            <version>2.14.3</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.data</groupId>
            <artifactId>spring-data-mongodb</artifactId>
            <version>1.10.7.RELEASE</version>
        </dependency>

接下來是xml文件的頭文件:

這邊就直接貼上我自己的xml配置吧!對應(yīng)該版本號的:

<?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"
       xsi:schemaLocation="
          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">
 
    <mongo:mongo replica-set="${mongo.hostport}">
 
        <mongo:options connections-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="true"
                       socket-keep-alive="true"
                       socket-timeout="${mongo.socketTimeout}"
                       slave-ok="true"
                       write-number="1"
                       write-timeout="0"
                       write-fsync="true"
        />
    </mongo:mongo>
    <mongo:db-factory username="root" password="root" dbname="admin" mongo-ref="mongo"/>
 
    <bean id="MongoTemplate" class="org.springframework.data.mongodb.core.MongoTemplate">
        <constructor-arg name="mongoDbFactory" ref="mongoDbFactory"/>
    </bean>
</beans>

我是引用資源文件的,mongodb.properties,這是我的資源文件:

mongo.hostport=127.0.0.1:27017
mongo.connectionsPerHost=8
mongo.threadsAllowedToBlockForConnectionMultiplier=4
#連接超時時間
mongo.connectTimeout=1000
#等待時間
mongo.maxWaitTime=1500
#Socket超時時間
mongo.socketTimeout=1500
#admin登錄信息
mongo.username=root
mongo.password=root
#DataBaseName
#認(rèn)證數(shù)據(jù)庫名
mongo.authenticationDbname=admin
#要鏈接的數(shù)據(jù)庫名
mongo.databaseName=test

ok,都配置好以后,啟動spring容器就能獲取MongTemplate對象,就能進(jìn)行操作了!這邊就不演示了,接著說下一個版本。

MongoDB Java Driver 3.X版本

跟spring整合的jar包版本是2.0.1.RELEASE,這個是我的maven:

<!--MongoBD-Spring整合-->
        <dependency>
            <groupId>org.mongodb</groupId>
            <artifactId>mongo-java-driver</artifactId>
            <version>3.5.0</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.data</groupId>
            <artifactId>spring-data-mongodb</artifactId>
            <version>2.0.1.RELEASE</version>
        </dependency>

注意??!

如果你用的是這個組的話,你的spring框架必須要用5.X的版本。不然會報 java.lang.NoSuchMethodError: org.springframework.util.Assert.isTrue 的這個錯誤。 說這個方法找不到!如果你的spring框架是5.X版本那就沒這個問題。

所有也要根據(jù)spring的框架版本來選擇。

這個是配置mongdb的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"
       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">
 
 
    <mongo:mongo-client id="mongoClient" replica-set="${mongo.hostport}"
                        credentials="${mongo.username}:${mongo.password}@${mongo.authenticationDbname}">
        <mongo:client-options connections-per-host="${mongo.connectionsPerHost}"
                              threads-allowed-to-block-for-connection-multiplier="${mongo.threadsAllowedToBlockForConnectionMultiplier}"
                              connect-timeout="${mongo.connectTimeout}"
                              max-wait-time="${mongo.maxWaitTime}"
                              socket-timeout="${mongo.socketTimeout}"
        />
    </mongo:mongo-client>
 
    <mongo:db-factory dbname="${mongo.databaseName}" mongo-ref="mongoClient"/>
 
    <mongo:template db-factory-ref="mongoDbFactory"/>
 
</beans>

心得

1.一定要根據(jù)自己spring的版本來選擇。

2.可以看得出來高版本的配置更簡潔,安全,方便!

3.建議選擇版本系列里面較新的版本,例如選擇了2.X的mongo-java驅(qū)動,建議選擇用的人多一點的版本,或2.X最新版。

題外話:配置完以后,我們是通過mongoTemplate對象來進(jìn)行增刪改查的操作。

只需自動注入:

@Autowired
private MongoOperations mongoTemplate;

這里說下為什么用MongoOperations申明,這是來自官方的解釋:

引用MongoTemplate實例操作的首選方法是通過它的接口MongoOperations。 

貼個網(wǎng)址,Spring官方的整合MongoDB的教程,可以直接用谷歌翻譯看:

https://docs.spring.io/spring-data/mongodb/docs/2.0.0.RELEASE/reference/html/#mongo.mongo-3

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java調(diào)用SSE流式接口并流式返回給前端實現(xiàn)打字輸出效果

    Java調(diào)用SSE流式接口并流式返回給前端實現(xiàn)打字輸出效果

    在Web開發(fā)中,有時我們需要將文件以流的形式返回給前端,下面這篇文章主要給大家介紹了關(guān)于Java調(diào)用SSE流式接口并流式返回給前端實現(xiàn)打字輸出效果的相關(guān)資料,需要的朋友可以參考下
    2024-08-08
  • Java中Optional.of()方法及源碼解析(非常詳細(xì)!)

    Java中Optional.of()方法及源碼解析(非常詳細(xì)!)

    這篇文章主要給大家介紹了關(guān)于Java中Optional.of()方法及源碼解析的相關(guān)資料,Java中java.util .Optional類的of()方法用于獲得該Optional類中具有指定類型的指定值的一個實例,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-06-06
  • Fluent Mybatis快速入門詳細(xì)教程

    Fluent Mybatis快速入門詳細(xì)教程

    由于FluentMybatis是基于mybatis上做封裝和擴展的,所以這里主要聊聊mybatis處理的方式,以及給出FluentMybatis的解放方案。對Fluent Mybatis入門相關(guān)知識感興趣的朋友一起看看吧
    2021-08-08
  • SpringBoot整合WebSocket實現(xiàn)后端向前端主動推送消息方式

    SpringBoot整合WebSocket實現(xiàn)后端向前端主動推送消息方式

    這篇文章主要介紹了SpringBoot整合WebSocket實現(xiàn)后端向前端主動推送消息方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • Spring Boot 定制URL匹配規(guī)則的方法

    Spring Boot 定制URL匹配規(guī)則的方法

    本篇文章主要介紹了Spring Boot 定制URL匹配規(guī)則的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-02-02
  • 詳解Java 虛擬機垃圾收集機制

    詳解Java 虛擬機垃圾收集機制

    這篇文章主要介紹了Java 虛擬機垃圾收集機制的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)Java虛擬機的相關(guān)知識,感興趣的朋友可以了解下
    2020-12-12
  • java中利用Dom4j解析和生成XML文檔

    java中利用Dom4j解析和生成XML文檔

    本篇文章主要介紹了java中利用Dom4j解析和生成XML文檔,dom4j是一套非常優(yōu)秀的Java開源api,主要用于讀寫xml文檔,具有性能優(yōu)異、功能強大、和非常方便使用的特點。有興趣的可以了解一下。
    2016-11-11
  • 關(guān)于Tomcat出現(xiàn)The origin server did not find a current representation for the target resourc...的問題

    關(guān)于Tomcat出現(xiàn)The origin server did not find a current represent

    這篇文章主要介紹了關(guān)于Tomcat出現(xiàn)The origin server did not find a current representation for the target resourc...的問題,感興趣的小伙伴們可以參考一下
    2020-08-08
  • 在springboot中使用AOP進(jìn)行全局日志記錄

    在springboot中使用AOP進(jìn)行全局日志記錄

    這篇文章主要介紹就在springboot中使用AOP進(jìn)行全局日志記錄,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • spring boot 使用@Async實現(xiàn)異步調(diào)用方法

    spring boot 使用@Async實現(xiàn)異步調(diào)用方法

    本篇文章主要介紹了spring boot 使用@Async實現(xiàn)異步調(diào)用方法,具有一定的參考價值,有興趣的可以了解一下。
    2017-04-04

最新評論