1

如何在基于 Spring 的配置中实现这一点。

<util:list id="abcHandlersList">
            <ref bean="aHandler" />
            <ref bean="bHandler" />
            <ref bean="cHandler" />
    </util:list>

我想要实现的场景。我有不同的支付处理程序,例如 Paypal、CreditCard 和 DebitCard。在我的服务中,我将获得处理程序列表并迭代以找到合适的处理程序来处理我的付款。如果您能帮助我进行基于 Java 的 Spring 配置,我将不胜感激。

提前致谢

4

1 回答 1

3

我没有在基于 Java 的配置中看到任何支持 list 、 maps 等的注释

您需要在配置类中创建列表和地图,例如,

@Bean
  public List<String> abcHandlersList(){
      List<String> abcHandlers = new ArrayList<>();
      abcHandlers.add(AHandler1());
      abcHandlers.add(BHandler1());
      return abcHandlers ;
 }

  @Bean
    public AHandler AHandler1(){
            return new AHandler();
    }

  @Bean
    public BHandler BHandler1(){
            return new BHandler();
    }

您可以将列表添加到 bean ,其他方式如

@Resource(name="abcHandlersList") 
  public void setHandlers(List<String> handlers) {
      this.handlers = handlers;
  }

或者

@Resource(name="abcHandlersList")
private List<String> handlers;
于 2013-03-02T23:37:12.853 回答