作者:欣欣2602916441 | 来源:互联网 | 2023-08-23 12:43
随着MongoDB不断更新完善,尤其增加ACID的支持,越来越多的应用开始使用MongoDB,在2018年的数据库排名中处于第五位,并且在今年1月份受欢迎程度排在第二位,成为最受欢迎的NoSQL数据库。下面,我们来简单讲解一下如何在spring项目中快速引入并使用MongoDB。
Spring-Data-MongoDB简介
Spring Data MongoDB项目提供与MongoDB文档数据库的集成。Spring Data MongoDB的关键功能区域是一个POJO中心模型,用于与MongoDB DBCollection交互并轻松编写Repository样式数据访问层。它具有一下特征:
- 支持基于Java的@Configuration类或Mongo驱动程序实例和副本集的XML的配置方式。
- MongoTemplate助手类,可提高执行常见Mongo操作的效率。包括文档和POJO之间的集成对象映射。
- 功能丰富的对象映射和Spring的转换服务集成
- 基于注释的元数据映射,并可扩展以支持其他元数据格式
- 持久化和生命周期管理
- 使用MongoReader / MongoWriter抽象的低级映射
- 基于Java的查询,标准和更新DSL
- 自动实现Repository接口,包括支持自定义finder方法。
- QueryDSL集成以支持类型安全查询。
- Log4j日志appender
- Map-Reduce集成
- JMX管理和监控
- CDI对存储库的支持
- GridFS支持
本文主要简单的介绍MongoTemplate 和MongoRepository的配置和使用。
引入maven依赖
org.springframework.data spring-data-mongodb 2.1.0.RELEASEorg.springframework.data spring-data-releasetrain Lovelace-M3pomimport
同时我们把spring的spring-milestones这个仓库也配置一下
spring-milestonesSpring Milestoneshttps://repo.spring.io/milestonefalse
配置
MongoTemplate的配置
1.xml方式:
增加注解的配置:
2.JAVA配置方式:
通过扩展MongoDB配置的基类AbstractMongoConfiguration来进行配置
@Configurationpublic class MongoConfig extends AbstractMongoConfiguration { @Override protected String getDatabaseName() { return "test"; } @Override public MongoClient mongoClient() { return new MongoClient("127.0.0.1