java - 如何知道接口(interface)中注入(inject)了哪个bean?

标签 java spring dependency-injection spring-java-config interface-implementation

所以我有一组包,它们是我扩展应用程序的基本代码。我的应用程序实现了一系列接口(interface),然后在运行时(按配置)由 spring 注入(inject)。我想知道有没有一种方法可以知道注入(inject)了哪个实现接口(interface)的类。我需要这个,因为我有我想要执行的 JSON 序列化器/反序列化器操作,但为此我需要知道注入(inject)的类。

我有一个 java 配置文件来描述接线,它将与游戏实现一起提供。但是到目前为止,我还没有能够得到实现该接口(interface)的具体类。我也未能成功从上下文中请求该信息。

Ant 提示​​?

最佳答案

你可以使用反射让注入(inject)的实例告诉你它是什么实现类:injectedInstance.getClass().getName()。但是,除非您正在做一些特别的事情,否则请将其视为 hack。您可能应该重新审视您的设计,这样您就不需要这样做了。

关于java - 如何知道接口(interface)中注入(inject)了哪个bean?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42371075/

相关文章:

java - 在 Java 中始终将参数传递给事件处理程序是否重要?

java - 在“设计”选项卡上全屏显示 JFrame - WindowBuilder

java - IBM 字符集 header 导致异常

Java 获取 N 的精确值提升到 n

JavaFX 导入和扩展应用程序未得到识别

spring - 如何为 Joda Period 注入(inject)配置值

java - 一个集合中的spring data jpa查询值

angular - 在 Angular 6 中,我在组件中收到错误 "NullInjectorError: No provider for Store"

xml - 通过 XML 统一配置字典

php - 如何在 Zend Framework 中使用依赖注入(inject)?