前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >微服务架构之Spring Boot(四十七)

微服务架构之Spring Boot(四十七)

作者头像
用户1289394
发布2022-05-23 14:27:46
5550
发布2022-05-23 14:27:46
举报
文章被收录于专栏:Java学习网Java学习网

31.2.2 MongoTemplate

Spring数据MongoDB提供了一个 MongoTemplate 与Spring JdbcTemplate 设计非常相似的 类。与 JdbcTemplate 一样,Spring Boot为您自

动配置bean以注入模板,如下所示:

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.data.mongodb.core.MongoTemplate;

import org.springframework.stereotype.Component;

@Component

public class MyBean {

private final MongoTemplate mongoTemplate;

@Autowired

public MyBean(MongoTemplate mongoTemplate) {

this.mongoTemplate = mongoTemplate;

}

// ...

}

有关完整的详细信息,请参阅 MongoOperations Javadoc。

31.2.3 Spring数据MongoDB存储库

Spring数据包括MongoDB的存储库支持。与前面讨论的JPA存储库一样,基本原则是基于方法名称自动构造查询。

实际上,Spring Data JPA和Spring Data MongoDB共享相同的公共基础结构。您可以从前面获取JPA示例,假设 City 现在是Mongo数据类而

不是JPA @Entity ,它的工作方式相同,如下例所示:

package com.example.myapp.domain;

import org.springframework.data.domain.*;

import org.springframework.data.repository.*;

public interface CityRepository extends Repository<City, Long> {

Page<City> findAll(Pageable pageable);

City findByNameAndStateAllIgnoringCase(String name, String state);

}

您可以使用 @EntityScan 注释自定义文档扫描位置。

31.2.4嵌入式Mongo

Spring Boot为Embedded Mongo提供自动配置 。要在Spring Boot应用程序中使用它,请

在 de.flapdoodle.embed:de.flapdoodle.embed.mongo 上添加依赖项。

可以通过设置 spring.data.mongodb.port 属性来配置Mongo侦听的端口。要使用随机分配的空闲端口,请使用值0.

MongoAutoConfiguration 创建的 MongoClient 将自动配置为使用随机分配的端口。

如果未配置自定义端口,则嵌入式支持默认使用随机端口(而不是27017)。

如果类路径上有SLF4J,则Mongo生成的输出会自动路由到名

为 org.springframework.boot.autoconfigure.mongo.embedded.EmbeddedMongo 的记录器。

您可以声明自己的 IMongodConfig 和 IRuntimeConfig beans来控制Mongo实例的配置和日志路由。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-04-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Java学习网 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档