java基于特定接口的bean通过HttpInvoker导出bean
我们有bean实现了一个接口,比如说MyServicesInterface,我们可以使用它在java中将其自动连接为一个列表
@自动连线 列出{MyServicesInterface}myServices
我想在应用程序上下文中使用下面的sudo代码来实现这一点
<beans>
<util:list id="servicesList" class="ArrayList" autowire-interface="com.MyServicesInterface" />
<for-each service:services>
<bean id="{/remote + service.getname}" class="org....HttpInvoker">
<property name="serviceInterface" class="{#service.getInterface()}"
</bean>
</for-each>
<beans>
对于{Interface}类型的每个bean,这种动态创建导出器bean将是导出bean的一种很好的模式。我知道这可以在java中完成,但是在为每个bean创建一个java HttpInvoker时有一些困难。我怀疑这完全可以在应用程序上下文中完成,但也许有一种方法我忽略了
任何评论或建议都会很好
# 1 楼答案
我怀疑你能在xml上下文中做到这一点,但在java中很简单。 所以在java中,我会这样做:
这就是我在java中使用它的方式
# 2 楼答案
使用BeanDefinitionRegistryPostProcessor为您的HttpInvokerServiceExporters创建BeanDefinition。使用注释标记服务并定义要导出的接口
例如