Spring Data访问 MongoDB(十六)----CDI集成

存储库接口的实例通常由容器创建,在使用Spring Data时,Spring是最自然的选择。从1.3.0版本开始,Spring Data MongoDB附带了一个自定义的CDI扩展,允许你在CDI环境中使用存储库抽象。扩展是JAR的一部分。要激活它,请将Spring Data MongoDB JAR放入类路径中。现在,你可以通过为MongoTemplate实现CDI Producer来设置基础设施(infrastructure),如下例所示:

java 复制代码
class MongoTemplateProducer {

    @Produces
    @ApplicationScoped
    public MongoOperations createMongoTemplate() {

        MongoDatabaseFactory factory = new SimpleMongoClientDatabaseFactory(MongoClients.create(), "database");
        return new MongoTemplate(factory);
    }
}

Spring Data MongoDB CDI扩展选择可用的MongoTemplate作为CDI bean,并在容器请求存储库类型的bean时为Spring Data存储库创建代理。因此,获取Spring Data存储库的实例需要声明@Inject属性,如下例所示:

java 复制代码
class RepositoryClient {

  @Inject
  PersonRepository repository;

  public void businessMethod() {
    List<Person> people = repository.findAll();
  }
}
相关推荐
likuolei27 分钟前
Eclipse 快捷键
java·ide·eclipse
哈茶真的c3 小时前
【书籍心得】左耳听风:传奇程序员练级攻略
java·c语言·python·go
喝养乐多长不高3 小时前
JAVA微服务脚手架项目详解(三)
java·大数据·微服务·文件·地图·oss
万邦科技Lafite3 小时前
1688图片搜索商品API接口(item_search_img)使用指南
java·前端·数据库·开放api·电商开放平台
落落落sss3 小时前
java实现排序
java·数据结构·算法
czhc11400756633 小时前
c# 1121 构造方法
java·javascript·c#
Z***25803 小时前
Java爬虫框架
java·开发语言·爬虫
晓华-warm3 小时前
Warm-Flow 1.8.4 票签新增多种通过率策略!
java·中间件·流程图·jar·开源软件·工作流
m***11903 小时前
【SpringBoot】Spring Boot 项目的打包配置
java·spring boot·后端
李慕婉学姐4 小时前
Springboot剪纸数字博物馆系统6wd19a3a(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
java·spring boot·后端