【问题标题】:How do i can call method of interface in java and get some return?我如何在java中调用接口的方法并获得一些回报?
【发布时间】:2019-12-11 11:18:18
【问题描述】:

我正在创建我的 java 库。我想实现与 Spring Data 中相同的东西。我无法插入代码,因为它的代码太多。 Spring Data中有很好的代码示例

https://github.com/spring-projects/spring-data-mongodb/blob/master/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/repository/MongoRepository.java

如何在我的 java 库中实现相同的接口? 如果我写,例如:

   MongoRepository.saveAll();

然后接口自动执行那个方法,我看不懂。 Spring Data 是如何做到的? 我们如何调用接口的方法并获得返回值?

【问题讨论】:

    标签: java spring spring-data


    【解决方案1】:

    Spring Data 是如何做到的?

    用魔法。虽然存储库接口,但在运行时会构建实现并生成方法(还解析方法名称,以便您获得那些自动生成的findFooByBar() 自定义方法)。

    所以如果你想自己做同样的事情,你需要学习字节码生成和许多其他的东西。

    【讨论】:

    • 我需要了解更多关于字节码生成的知识吗?仅此而已? Java中的字节码生成还是普通的字节码生成?
    • @МирославСтрельбицкий 理解魔法并不难。生成代码。如果你想重新创建 Spring Data 所做的事情,那就需要更多的理解和技巧。
    • 我需要在java中挖掘什么方向?它只是字节码还是其他?
    • @МирославСтрельбицкий 还有其他事情。这并不容易。你可能做不到。
    猜你喜欢
    • 2014-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-28
    相关资源
    最近更新 更多