跳至主要內容

Mongo入门 - 基本使用:Spring集成

gavin-jamesNoSQL MongoDBNoSQL MongoDB大约 2 分钟

Mongo入门 - 基本使用:Spring集成

本文为主要介绍Spring Data对MongoDB原生API的封装,比如Spring-data-mongo,MongoTemplate等。以及原生API和Spring data系列之间的关系。

Spring Data 与 MongoDB

在初学使用者而言,常会分不清Spring-data-jpa, spring-data-mongo, springboot-data-mongo-starter以及mongo-driver之间的关联关系, 本节将带你理解它们之间的关系。

Spring Data的层次结构

首先让我们回顾下Spring runtime体系:

img
img

Spring Data是基于Spring runtime体系的:

下面这个图能够直观反映出它们之间的依赖关系,以及包中类之间的以来关系。

img
img

springboot-data-mongo层次结构

我们通过引入springboot-data-mongo-starter包来看它们之间的层次结构:

img
img

mongodb+Java用法

所以通过上面分析我们可以得到基于mongodb+Java的常见用法:

使用方式及依赖包的引入

  • 引入mongodb-driver, 使用最原生的方式通过Java调用mongodb提供的Java driver;

  • 引入

    spring-data-mongo
    

    , 自行配置使用spring data 提供的对MongoDB的封装

    • 使用MongoTemplate 的方式
    • 使用MongoRespository 的方式
  • 引入spring-data-mongo-starter, 采用spring autoconfig机制自动装配,然后再使用MongoTemplate或者MongoRespository方式。

具体使用中文档的参考

spring-data/mongodb 官方的参考文档在新窗口打开open in new window

img
img

一些案例的参考

原生方式

spring-data-mongo

img
img