我们有实现接口的 bean,比如说 MyServicesInterface,我们可以在 java 中自动装配为一个列表,使用
@Autowired List{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} 类型的动态 for-each bean 创建一个导出器 bean 将是导出 bean 的一个很好的模式。我知道这可以在 java 中完成,但是有一些困难在 java 中为每个 bean 创建一个 HttpInvoker。我怀疑这可以完全在应用程序上下文中完成,但也许有一种我忽略的方法。
任何评论或建议都会很棒。