如何在基于Java的Spring配置中正确配置列表、映射和设置
如何在基于Spring的配置中实现这一点如何在基于Java的Spring配置中正确配置列表、映射和设置,java,spring,Java,Spring,如何在基于Spring的配置中实现这一点 <util:list id="abcHandlersList"> <ref bean="aHandler" /> <ref bean="bHandler" /> <ref bean="cHandler" /> </util:list> 我想要实现的情景。我有不同的PaymentHandler,例如Paypal、
<util:list id="abcHandlersList">
<ref bean="aHandler" />
<ref bean="bHandler" />
<ref bean="cHandler" />
</util:list>
我想要实现的情景。我有不同的PaymentHandler,例如Paypal、信用卡和借记卡。在我的服务中,我将获得一个处理程序列表,并迭代以找到一个适当的处理程序来处理我的付款。如果您能帮助我进行基于Java的Spring配置,我将不胜感激
提前感谢在基于Java的配置中,我没有看到任何支持列表、映射等的注释 您需要在配置类中创建列表和映射,如
@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
公共列表abcHandlersList(){
List abcHandlers=new ArrayList();
abcHandlers.add(AHandler1());
abcHandlers.add(BHandler1());
返回钱德勒;
}
@豆子
公共AHandler AHandler 1(){
返回新的AHandler();
}
@豆子
公共BHandler BHandler 1(){
返回新的BHandler();
}
您可以将列表添加到bean中,其他方式如下
@Resource(name="abcHandlersList")
public void setHandlers(List<String> handlers) {
this.handlers = handlers;
}
@Resource(name=“abcHandlersList”)
公共void集合处理程序(列表处理程序){
this.handlers=handlers;
}
或
@Resource(name=“abcHandlersList”)
私有列表处理程序;
我知道如何使用基于xml的配置进行配置。我想使用基于Java的Spring配置来实现xml等价物。但是,一个快速更正列表处理程序应该是列表处理程序;它应该是类型处理程序的对象。
@Resource(name="abcHandlersList")
private List<String> handlers;