【问题标题】:Spring Data Project - Couchbase IntegrationSpring Data 项目 - Couchbase 集成
【发布时间】:2015-11-15 19:08:31
【问题描述】:

我浏览了以下通过 Spring 使用 couchbase db 的教程

http://projects.spring.io/spring-data-couchbase/#quick-start

我在服务类中看到了以下自动接线。 UserRepository 是一个接口。我假设应该有一个实现这个接口并暴露一个bean。我没有看到任何实现此接口或作为 bean 公开的类。是否可以帮助解释这是如何工作的?

@Autowired
public MyService(UserRepository userRepository) {
    this.userRepository = userRepository;
}

【问题讨论】:

    标签: java spring spring-data couchbase


    【解决方案1】:

    Spring-Data 项目的目标是在您只定义接口时在运行时为您创建此类实现。

    它将检查您配置为通过反射进行扫描的包并发现其中的xxRepository 接口,此时它将使用您选择的特定于商店的 Spring Data 子项目(此处为 Couchbase)提供的基类来编织在一起xxRepository 的具体实现并注入。

    【讨论】:

    • 谢谢西蒙!在这种情况下,UserRepository 扩展了 CrudRepository。 spring 是否查看基本接口并编织适当的具体实现?我看到的所有示例都扩展了 CrudRepository。扩展它有什么好处还是可以按原样使用?
    • 扩展的主要好处是除了保存、删除等之外,您还可以定义自己的方法......无论是使用自己的实现还是 spring 都可以从某些方法名称中派生出某种形式的查询(查找“查询推导”)
    • couchbase 的查询派生只是 spring data couchbase 2.0 的一部分,目前处于预览阶段
    • 好的,我会查的。谢谢你的帮助西蒙!
    • 我正在阅读您的博客以了解详细信息:) blog.couchbase.com/2015/august/…
    猜你喜欢
    • 1970-01-01
    • 2012-10-28
    • 1970-01-01
    • 2014-05-16
    • 2016-04-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-30
    相关资源
    最近更新 更多