@Retention(value=RUNTIME)
@Target(value=TYPE)
public @interface Interface
服务接口注记。
用于声明服务接口所支持的服务组件类型(componentTypes()
),,且设置的服务组件类型必须是Java接口,不支持普通类。比如,设置 componentTypes={com.supermap.services.components.Map.class},表示当前服务接口支持地图服务组件。
通过设置 optional
来设置服务提组件类型是否可选,比如配置了 componentTypes={Component1.class, Component2.class},当 optional = true 时,表示可以使用 Component1 和 Component2 其中任意一种类型的服务组件;当 optional = false 时,表示这两种类型的服务组件都必须支持,即在服务组件集合中, Component1 和 Component2 两种服务组件必须至少分别提供一个。
限定符和类型 | 必需的元素和说明 |
---|---|
java.lang.Class[] |
componentTypes
服务组件类型。
|
public abstract java.lang.Class[] componentTypes
服务组件类型。,必须是Java接口,不支持普通类
用来设置服务接口所用到的服务组件类型,必须是Java接口,不支持普通类。默认值为Class空数组。
public abstract boolean optional
服务组件类型是否可选。
ture 表示可选,false 表示不可选(每一种服务组件都是必须的)。比如配置了 componentTypes={Component1.class, Component2.class},当 optional = true 时,表示可以使用 Component1 和 Component2 其中任意一种类型的服务组件;当 optional = false 时,表示这两种类型的服务组件都必须使用。
默认值为 false。
public abstract boolean multiple
是否支持多个同类服务组件。
true 表示支持多个同类的服务组件,false 表示不支持。默认为 true。