Spring Boot MongoDB 教程展示了如何在 Spring Boot 框架中访问 MongoDB 中的数据。
Spring 是流行的 Java 应用框架,而 Spring Boot 是 Spring 的演进,可以帮助轻松地创建独立的,生产级的基于 Spring 的应用。
MongoDB
MongoDB 是 NoSQL 跨平台的面向文档的数据库。 它是可用的最受欢迎的数据库之一。 MongoDB 由 MongoDB Inc.开发,并作为免费和开源软件发布。
Spring Data MongoDB 项目提供了与 MongoDB 文档数据库的集成。
安装 MongoDB
以下命令可用于在基于 Debian 的 Linux 上安装 MongoDB。
该命令将安装 MongoDB 随附的必要软件包。
使用sudo service mongodb status
命令,我们检查mongodb
服务器的状态。
mongodb
服务器由sudo service mongodb start
命令启动。
Spring Boot MongoDB 示例
在以下示例中,我们创建一个使用 MongoDB 数据库的简单 Spring Boot 应用。 请注意,默认情况下,没有任何特定配置,Spring Boot 会尝试使用test
数据库名称连接到本地托管的 MongoDB 实例。
这是 Spring 应用的项目结构。
pom.xml
这是 Maven pom.xml
文件。
Spring Boot 启动器是一组方便的依赖项描述符,可以极大地简化 Maven 配置。 spring-boot-starter-parent
具有 Spring Boot 应用的一些常用配置。 spring-boot-starter-data-mongodb
是使用 MongoDB 面向文档的数据库和 Spring Data MongoDB 的入门。 spring-boot-starter-test
是使用包含 JUnit,Hamcrest 和 Mockito 的库测试 Spring Boot 应用的入门程序。
在spring-boot-maven-plugin
提供了 Maven 的春季启动支持,使我们能够打包可执行的 JAR 或 WAR 档案。 它的spring-boot:run
目标运行春季启动应用。
resources/application.properties
在application.properties
中,我们打开 Spring Boot 横幅并设置日志记录属性。 默认情况下,Spring Boot 会尝试使用测试数据库连接到 MongoDB 的本地托管实例。
如果要配置 MongoDB,可以设置相应的属性。
com/zetcode/model/Country.java
这是Country
bean,具有三个属性:id
,name
和population
。
Bean 用可选的@Document
注解修饰。
id
用@Id
注解修饰。 Spring 会自动为一个新生成的国家对象生成一个新的 id。
com/zetcode/repository/CountryRepository.java
通过从MongoRepository
扩展,我们可以直接使用许多操作,包括标准 CRUD 操作。
com/zetcode/MyRunner.java
我们有一个命令行运行器。 在其run()
方法中,我们访问 MongoDB。
CountryRepository
注入了@Autowired
注解。
如果有,我们将使用deleteAll()
删除所有国家。
我们用save()
保存一个国家。
我们使用findAll()
方法遍历数据库中的所有国家。
com/zetcode/Application.java
这段代码设置了 Spring Boot 应用。
com/zetcode/MongoTest.java
我们有四种测试方法。
在init()
方法中,我们保存了六个国家。
我们测试数据库中有六个国家。
此方法测试数据库中只有一个中国。
我们测试了在保存新国家/地区时,自动生成的 ID 不等于null
。
我们测试findOne()
方法找到一个国家,即印度。
在本教程中,我们学习了如何在 Spring Boot 应用中使用 MongoDB。