据我了解,扩展抽象类的组件已由 SCR 正确实例化,但不会保存到服务注册表中。 仅当它实现接口(interface)时才会保存。
这是正确的吗?
最佳答案
服务类型默认使用组件实现类的直接实现的接口(interface)。如果组件实现类扩展了一个类,则父类(super class)实现的接口(interface)不会被视为组件实现的默认服务类型的一部分。
查找所有接口(interface)的类型层次结构是没有用的,因为通用接口(interface)(例如 Serialized)将包含在默认服务类型中。
因此,要么让您的组件实现类重新声明父类(super class)所需的接口(interface),要么使用 Component 注释的 service 属性显式声明组件的服务类型。
关于java - 扩展抽象类时的组件实例化和注册,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54144834/