interface use spring bean 方案

来源:互联网 发布:用mac怎么在优酷下视频 编辑:程序博客网 时间:2024/06/04 23:31
public interface IEventBaseHandler {EntityBaseVO getAndSaveEventDetailBy(EventMasterVO eventMasterVO) ;static IEventBaseHandler GetSubHandler(Integer eventTypeNum){    return IEventBaseHandlerHelper.GetSubHandler(eventTypeNum);}@Componentclass IEventBaseHandlerHelper{    private static IIntercomEventHandler intercomEventHandlerImpl;    private static IButtonEventHandler buttonEventHandlerImpl;    private static IPerimeterEventHandler perimeterEventHandlerImpl;    private static IGateEventHandler gateEventHandlerImpl;    private static IVehicleEventHandler vehicleEventHandlerImpl;    private static IFaceEventHandler faceEventHandlerImpl;    @Autowired    public void setIntercomEventHandlerImpl(IIntercomEventHandler intercomEventHandlerImpl){        this.intercomEventHandlerImpl = intercomEventHandlerImpl;    }    @Autowired    public void setButtonEventHandlerImpl(IButtonEventHandler buttonEventHandlerImpl){        this.buttonEventHandlerImpl = buttonEventHandlerImpl;    }    @Autowired    public void setPerimeterEventHandlerImpl(IPerimeterEventHandler perimeterEventHandlerImpl){        this.perimeterEventHandlerImpl = perimeterEventHandlerImpl;    }    @Autowired    public void setGateEventHandlerImpl(IGateEventHandler gateEventHandlerImpl){        this.gateEventHandlerImpl = gateEventHandlerImpl;    }    @Autowired    public void setVehicleEventHandlerImpl(IVehicleEventHandler vehicleEventHandlerImpl){        this.vehicleEventHandlerImpl = vehicleEventHandlerImpl;    }    @Autowired    public void setFaceEventHandlerImpl(IFaceEventHandler faceEventHandlerImpl){        this.faceEventHandlerImpl = faceEventHandlerImpl;    }static IEventBaseHandler GetSubHandler(Integer eventTypeNum){    if(EventTypeEnum.DUIJIANG.getIndex() == eventTypeNum) {        return intercomEventHandlerImpl;    } else if(EventTypeEnum.BUTTON.getIndex() == eventTypeNum) {        return buttonEventHandlerImpl;    } else if(EventTypeEnum.ZHOUJIE.getIndex() == eventTypeNum) {        return perimeterEventHandlerImpl;    } else if(EventTypeEnum.MENJIN.getIndex() == eventTypeNum) {        return gateEventHandlerImpl;    } else if(EventTypeEnum.CHELIANG.getIndex() == eventTypeNum) {        return vehicleEventHandlerImpl;    } else if(EventTypeEnum.RENLIAN.getIndex() == eventTypeNum) {        return faceEventHandlerImpl;    }    return null;}

}