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();
  }
}
相关推荐
叶 落8 分钟前
[Maven 基础课程]13_Maven 私服的使用
java·maven
历程里程碑11 分钟前
滑动窗口秒解LeetCode字母异位词
java·c语言·开发语言·数据结构·c++·算法·leetcode
计算机学姐12 分钟前
基于SpringBoot的智能家教服务平台【2026最新】
java·spring boot·后端·mysql·spring·java-ee·intellij-idea
Gofarlic_oms126 分钟前
Cadence许可证全生命周期数据治理方案
java·大数据·运维·开发语言·人工智能·安全·自动化
曹轲恒27 分钟前
HashMap基础
java
期待のcode30 分钟前
Java String类
java·开发语言
资生算法程序员_畅想家_剑魔30 分钟前
Java常见技术分享-17-多线程安全-并发编程的核心问题的解决方案
java·开发语言
p&f°32 分钟前
垃圾回收两种算法
java·jvm·算法
myq9932 分钟前
第三章:Java异常处理
java·开发语言·笔记
靠沿37 分钟前
Java数据结构初阶——堆与PriorityQueue
java·开发语言·数据结构