Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1315312
  • 博文数量: 932
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 10208
  • 用 户 组: 普通用户
  • 注册时间: 2011-07-08 12:28
文章分类

全部博文(932)

文章存档

2021年(1)

2020年(134)

2019年(792)

2018年(5)

我的朋友

分类: 架构设计与优化

2019-04-24 10:55:35

Spring Boot 是一个轻量级框架,可以完成基于 Spring 的应用程序的大部分配置工作。Spring Boot的目的是提供一组工具,以便快速构建容易配置的Spring应用程序,省去大量传统Spring项目的繁琐配置。

MongoDB是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。

本文介绍如何使用Spring Boot操作MongoDB,通过Java代码在MongoDB里插入数据。

首先按照这个教程的第一篇文章的介绍,在本地搭建好MongoDB的环境:

MongoDB最简单的入门教程之一 环境搭建

新建一个Java项目,pom.xml的内容如下:

xml version="1.0" encoding="UTF-8"?> <project xmlns="" xmlns:xsi="" xsi:schemaLocation=" "> <modelVersion>4.0.0modelVersion> <groupId>org.springframeworkgroupId> <artifactId>gs-rest-serviceartifactId> <version>0.1.0version> <parent> <groupId>org.springframework.bootgroupId> <artifactId>spring-boot-starter-parentartifactId> <version>2.0.3.RELEASEversion> parent> <dependencies> <dependency> <groupId>org.springframework.bootgroupId> <artifactId>spring-boot-starter-webartifactId> dependency> <dependency> <groupId>org.mongodbgroupId> <artifactId>mongodb-driverartifactId> <version>3.6.4version> dependency> <dependency> <groupId>org.springframework.bootgroupId> <artifactId>spring-boot-starter-testartifactId> <scope>testscope> dependency> <dependency> <groupId>com.jayway.jsonpathgroupId> <artifactId>json-pathartifactId> <scope>testscope> dependency> <dependency> <groupId>org.springframework.bootgroupId> <artifactId>spring-boot-starter-data-mongodbartifactId> dependency> dependencies> <properties> <java.version>1.8java.version> properties> <build> <plugins> <plugin> <groupId>org.springframework.bootgroupId> <artifactId>spring-boot-maven-pluginartifactId> plugin> plugins> build> <repositories> <repository> <id>spring-releasesid> <url>url> repository> repositories> <pluginRepositories> <pluginRepository> <id>spring-releasesid> <url>url> pluginRepository> pluginRepositories> project> 

其中这个dependency的作用是为SpringBoot应用提供操作MongoDB的功能:

<dependency> <groupId>org.springframework.bootgroupId> <artifactId>spring-boot-starter-data-mongodbartifactId> dependency> 

这个dependent能让您的Spring Boot应用支持junit:

<dependency> <groupId>org.springframework.bootgroupId> <artifactId>spring-boot-starter-testartifactId> <scope>testscope> 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 findByName(String name);
} 

这个JUnit单元测试运行成功后,

在MongoDB Compass里成功看到这条插入的记录:

要获取更多Jerry的原创技术文章,请关注公众号"汪子熙"或者扫描下面二维码:


阅读(2506) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~