Mongo入门 - 基本使用:Spring集成
本文为主要介绍Spring Data对MongoDB原生API的封装,比如Spring-data-mongo,MongoTemplate等。以及原生API和Spring data系列之间的关系。@pdai
Spring Data 与 MongoDB
在初学使用者而言,常会分不清Spring-data-jpa, spring-data-mongo, springboot-data-mongo-starter以及mongo-driver之间的关联关系, 本节将带你理解它们之间的关系。
Spring Data的层次结构
首先让我们回顾下Spring runtime体系:
Spring Data是基于Spring runtime体系的:
下面这个图能够直观反映出它们之间的依赖关系,以及包中类之间的以来关系。@pdai
springboot-data-mongo层次结构
我们通过引入springboot-data-mongo-starter
包来看它们之间的层次结构:
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
方式。
具体使用中文档的参考
一些案例的参考
原生方式
前文我们展示的Java通过mongodb-driver操作mongodb示例。