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();
  }
}
相关推荐
二哈喇子!14 小时前
IDEA启动后控制台不报错,但是页面访问404
java·intellij-idea·mybatis
二哈喇子!14 小时前
Tomcat下载安装以及配置(详细教程)
java·tomcat·intellij-idea
源码获取_wx:Fegn089514 小时前
基于springboot + vue校园跑腿系统
vue.js·spring boot·后端·spring·课程设计
计算机毕设指导614 小时前
基于微信小程序的健康管理系统【源码文末联系】
java·spring boot·微信小程序·小程序·tomcat·maven·intellij-idea
月月玩代码14 小时前
OkHttp,Square出品的Java/Android HTTP客户端!
android·java·okhttp
胡八一14 小时前
IntelliJ IDEA 配置插件目录
java·ide·intellij-idea
资生算法程序员_畅想家_剑魔14 小时前
Java常见技术分享-分布式篇-SpringCloud-01-基础组件
java·分布式·spring cloud
信码由缰14 小时前
SJF4J 五分钟入门:Java 的实用 JSON 门面
java·python·json
那我掉的头发算什么14 小时前
【SpringBoot】从学会使用maven开始
spring boot·后端·spring·maven
yi诺千金14 小时前
Android U 自由窗口(浮窗)——操作栏相关
android·java·ui