据我了解,可以通过SCR实例化扩展抽象类的组件,但不会将其保存到服务注册表中。 仅在实现接口时才保存。
这正确吗?
答案 0 :(得分:1)
默认是将组件实现类的直接实现的接口用于服务类型。如果组件实现类扩展了一个类,则不将超类实现的接口视为组件实现的默认服务类型的一部分。
查找所有接口的类型层次结构将不会有用,因为默认服务类型中将包含通用接口(如Serializable)。
因此,要么让您的组件实现类重新声明超类的所需接口,要么使用Component批注的service属性来显式声明该组件的服务类型。