【策略模式】如何結合spring實現一個接口多個實現,如何解決接口選擇問題

 


1、首先把映射關係放在spring-mvc.xml配置文件

<bean id="dispatcher" class="com.ms.kai.bms.dispatcher.AbstractDispatcherImpl">
		<property name="serviceMap">
			<map>
				<entry key="10001" value-ref="serviceAImpl"/>
				<entry key="10002" value-ref="serviceBImpl"/>
				<entry key="10003" value-ref="serviceCImpl"/>			
			</map>
		</property>
	</bean>

2、代碼實現

 

@Service("dispatcher")
public class AbstractDispatcherImpl 
{
    private Map<Integer, Iservice> serviceMap = new HashMap<Integer, Iservice>();

    @Override
    public RestoreDto dispatcherDraw(String key)
    {
        Iservice service = getServiceMap.get("10001");
        return service.query();
    }

    public Map<Integer, Iservice> getServiceMap()
    {
        return serviceMap;
    }

    public void setServiceMap(Map<Integer, Iservice> serviceMap)
    {
        this.serviceMap = serviceMap;
    }

}
public interface Iservice
{
    public void query();
}

 

@Component("serviceAImpl")
public class ServiceAImpl implements Iservice
{
@Override
public void query(){
		
}
}
@Component("serviceBImpl")
public class ServiceBImpl implements Iservice
{
@Override
public void query(){
		
}
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章