Spring Boot 是一个轻量级框架,可以完成基于 Spring 的应用程序的大部分配置工作。Spring Boot的目的是提供一组工具,以便快速构建容易配置的Spring应用程序,省去大量传统Spring项目的繁琐配置。
MongoDB是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。
本文介绍如何使用Spring Boot操作MongoDB,通过Java代码在MongoDB里插入数据。
首先按照这个教程的第一篇文章的介绍,在本地搭建好MongoDB的环境:
新建一个Java项目,pom.xml的内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.springframework</groupId>
<artifactId>gs-rest-service</artifactId>
<version>0.1.0</version>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.3.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongodb-driver</artifactId>
<version>3.6.4</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.jayway.jsonpath</groupId>
<artifactId>json-path</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
</dependencies>
<properties>
<java.version>1.8</java.version>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
<repositories>
<repository>
<id>spring-releases</id>
<url>https://repo.spring.io/libs-release</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>spring-releases</id>
<url>https://repo.spring.io/libs-release</url>
</pluginRepository>
</pluginRepositories>
</project>
其中这个dependency的作用是为SpringBoot应用提供操作MongoDB的功能:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
这个dependent能让您的Spring Boot应用支持junit:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
在src/main/test文件夹下创建一个以Tests结尾的.java文件,我的例子里是ApplicationTests.java:
将如下代码粘贴进去:
package main.test;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import main.java.library.Application;
import main.java.library.Book;
import main.java.library.BookRepository;
@RunWith(SpringRunner.class)
@SpringBootTest(classes=Application.class)
public class ApplicationTests {
@Autowired
private BookRepository bookRepository;
@Before
public void setUp() {
bookRepository.deleteAll();
}
@Test
public void test() throws Exception {
bookRepository.save(new Book("1", "didi", "Jerry"));
}
}
第27行代码,新建了一个Book对象,id为1,name为didi,作者为Jerry。然后通过bookRepository加入到MongoDB里。
BookRepository的实现:
import java.util.Optional;
import org.springframework.data.mongodb.repository.MongoRepository;
public interface BookRepository extends MongoRepository<Book, String>, BookRepositoryCustom {
public Optional<Book> findByName(String name);
}
这个JUnit单元测试运行成功后,
在MongoDB Compass里成功看到这条插入的记录:
要获取更多Jerry的原创技术文章,请关注公众号"汪子熙"或者扫描下面二维码:
相关推荐
spring-boot-multi-mongodb:spring boot和mongodb多数据源的使用 spring-boot-package-war:spring-boot打包成war包示例 spring-boot-shiro:springboot 整合shiro rbac示例 spring-boot-file-upload:使用Spring ...
Spring boot使用的各种示例,以最简单、最实用为标准 spring-boot-helloWorld:spring-boot的helloWorld版本 spring-boot-mybaits-annotation:注解版本 spring-boot-mybaits-xml:xml配置版本 spring-boot-...
spring.data.mongodb.uri=mongodb://localhost:27017/mydatabase ``` 3. **创建模型类**: 设计你的数据模型,创建对应的 Java 类。例如,你可以创建一个 `User` 类来表示用户信息: ```java @Document...
"Mongodb入门教程、示例+Spring Boot完整示例+聚合" 本节课将完整地介绍 MongoDB 的入门教程、示例、Spring Boot 完整示例和聚合。 简介 NoSQL(Not Only SQL)是一种非关系型的数据库, MongoDB 是基于分布式...
- `spring-boot-mongodb-example`:使用 Spring Data MongoDB 操作 NoSQL 数据库。 - `spring-boot-email-example`:展示如何通过 JavaMailSender 发送邮件。 **4. 数据访问** Spring Boot 提供了对多种数据存储的...
spring.data.mongodb.uri=mongodb://localhost:27017/mydatabase ``` 3. **MongoTemplate与MongoOperations**: Spring Data MongoDB 提供了`MongoTemplate`和`MongoOperations`接口,用于执行数据库操作。`Mongo...
本项目基于MongoDB数据库和Spring Boot框架实现了一个文件服务器,旨在提供高效、可靠的文件存储和检索服务。以下将详细讲解如何利用MongoDB和Spring Boot构建这样的系统。 首先,MongoDB是一个流行的NoSQL数据库,...
### Spring Boot 使用 MongoDB 详解 #### 一、前言 随着大数据时代的发展,NoSQL 数据库因其灵活性和高性能成为开发者的新宠。MongoDB 作为 NoSQL 数据库中的佼佼者,凭借其面向文档的存储方式、高效查询性能及...
spring.data.mongodb.uri=mongodb://localhost:27017/mydb spring.data.mongodb.fieldLevelEncryption.enabled=true spring.data.mongodb.fieldLevelEncryption.keyVaultNamespace=mykeyvault spring.data....
【标题】"sistema-escolar:Projeto com Spring Boot e MongoDB" 提供了一个使用Spring Boot框架和MongoDB数据库构建的学校管理系统项目。这个系统旨在为教育机构提供一个全面的解决方案,以自动化和优化学生、教师...
这个“Spring Boot系列教程入门”将引导你深入了解如何利用Spring Boot快速构建高效、可维护的Web应用。 首先,我们从核心概念开始。Spring Boot的核心优势在于它的“约定优于配置”原则,这意味着它默认设置了一...
【Spring Boot 中 MongoDB 的使用】 MongoDB 是一种流行的开源NoSQL数据库,以其高性能、灵活性和易扩展性而受到广泛欢迎。它使用BSON(Binary JSON)格式存储数据,支持类似于JSON的文档结构,使得处理复杂数据...
spring.data.mongodb.uri=mongodb://localhost:27017/mydatabase ``` 3. **定义模型类**:为了存取数据,我们需要创建与 MongoDB 文档结构相匹配的 Java 类。这些类通常包含 `@Document` 注解,表明它们是 ...
Spring Boot,MongoDB,Angular Restful API教程使用Spring Boot和MongoDB在后端以及Angular在前端构建完整的Todo应用程序。要求Java-1.8.x Maven-3.xx MongoDB-3.xx设定步骤1.克隆应用程序git clone ...
《Spring Boot中文开发指南》是一本专为中文开发者编写的实战型教程,旨在帮助读者深入理解和熟练运用Spring Boot这一强大的Java开发框架。Spring Boot简化了Spring应用的初始搭建以及开发过程,通过“约定优于配置...
微服务-spring-boot-groovy 使用 Spring Boot 和 Groovy 构建微服务创建这些项目是为了在当地的达拉斯 Groovy Grails 用户组会议上展示微服务架构这些服务使用您需要安装才能开始使用的各种外部服务。 您将需要安装 ...
1. **起步依赖(Starter Dependencies)**:Spring Boot 的核心特性之一是起步依赖,它允许开发者通过添加特定的 Maven 或 Gradle 依赖来快速引入所需的组件。例如,`spring-boot-starter-web` 可以启动一个基础的 ...
本篇文章将深入探讨如何在Spring Boot项目中集成和使用MongoDB,以及进行一些基本操作和性能优化。 首先,集成MongoDB到Spring Boot项目中,你需要在`pom.xml`或`build.gradle`文件中添加对应的依赖。对于Maven,...
spring.data.mongodb.uri=mongodb://username:password@host:port/dbname ``` **3. 添加依赖** 在`pom.xml`或`build.gradle`文件中,我们需要引入Spring Boot的MongoDB starter依赖,以便自动配置MongoDB的相关组件...
本书英文版全面覆盖了Spring Boot的核心概念和技术,为读者提供了一个详尽的Spring Boot开发实践教程。 1. **Spring Boot概述**:书中首先会介绍Spring Boot的基本概念,包括它为何出现,解决了哪些问题,以及如何...