Getting Started

引导设置工作环境的一种简便方法是通过 start.spring.io 创建基于 Spring 的项目或通过 Spring Tools 创建 Spring 项目。

Examples Repository

GitHub spring-data-examples repository 托管了多个示例,您可以下载和试用它们来了解库的工作原理。

Hello World

首先,你需要设置一个正在运行的 MongoDB 服务器。有关如何启动 MongoDB 实例的说明,请参阅 MongoDB Quick Start guide。安装后,启动 MongoDB 通常只需运行以下命令: /bin/mongod

然后,您可以创建一个 Person 类以存储:

Unresolved include directive in modules/ROOT/pages/mongodb/getting-started.adoc - include::example$example/Person.java[]

您还需要一个主应用程序来运行:

  • Imperative

  • Reactive

Unresolved include directive in modules/ROOT/pages/mongodb/getting-started.adoc - include::example$example/MongoApplication.java[]
Unresolved include directive in modules/ROOT/pages/mongodb/getting-started.adoc - include::example$example/ReactiveMongoApplication.java[]

当您运行主程序时,以上示例将产生以下输出:

10:01:32,265 DEBUG o.s.data.mongodb.core.MongoTemplate - insert Document containing fields: [_class, age, name] in collection: Person
10:01:32,765 DEBUG o.s.data.mongodb.core.MongoTemplate - findOne using query: { "name" : "Joe"} in db.collection: database.Person
Person [id=4ddbba3c0be56b7e1b210166, name=Joe, age=34]
10:01:32,984 DEBUG o.s.data.mongodb.core.MongoTemplate - Dropped collection [database.person]

即便在这个简单的示例中,也有一些需要注意的地方:

  • 你可以使用标准或响应式 MongoClient`对象以及要使用的数据库名称来实例化 Spring Mongo 的中央辅助类 `MongoTemplate

  • 映射器针对标准 POJO 对象运行,无需任何其他元数据(不过你可以选择性地提供该信息。参见 here。)。

  • 它使用约定来处理 id`字段,在存储到数据库中时将其转换为 `ObjectId

  • 映射约定可以使用字段访问。请注意, `Person`类只有获得器。

  • 如果构造函数参数名与存储文档的字段名称匹配,则使用它们来实例化对象。