【问题标题】:How and Where was the my repository interface instanced by SimpleJdbcRespository?SimpleJdbcRespository 实例化的我的存储库接口如何以及在哪里?
【发布时间】:2019-04-16 03:33:36
【问题描述】:

我创建了一个由CrudRepository 扩展的自定义存储库接口。 我刚刚在StartApplication 中使用了@EnableJdbcRepositories

当我测试自定义存储库中的方法时,例如save(T t),我看到它被SimpleJdbcRespository.class 实例化。

我对此感兴趣,我想知道SimpleJdbcRespository 是如何以及在哪里创建并实现了我的自定义存储库接口。

我应该调试哪一行代码?

【问题讨论】:

    标签: java spring-data spring-data-jdbc


    【解决方案1】:

    所有 Spring Data JDBC 存储库都由 JdbcRepositoryFactory 创建,它使用 SimpleJdbcRepository 作为 CrudRepository 方法的实现。

    对于存储库接口中的其他方法JdbcQueryLookupStrategy 进行咨询,该接口确定如何以RepositoryQuery 的形式为要执行的方法获取正确的查询。

    目前只有它的实现:JdbcRepositoryQuery

    如果执行此类方法时某些事情没有按预期工作。 JdbcRepositoryQuery.execute(Object[] objects) 是调试的良好开端。 您可能还想查看其中使用的executor 是如何构造的。

    【讨论】:

    猜你喜欢
    • 2023-03-14
    • 2011-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多