问题如题:解题思路,使用@Qualifier注解
例子如下:接口AppService,实现类有IosServiceImpl和AndoridServiceImpl
public interface AppService {
public void doService();
}
@Log4j2
@Service("andoridService")
public class AndoridServiceImpl implements AppService{
@Override
public void doService() {
log.info("do AndoridService");
}
}
@Log4j2
@Service("iosService")
public class IosServiceImpl implements AppService{
@Override
public void doService() {
log.info("do IosService");
}
}
@Service public class StrategyDispatch { //必须要@Qualifier和@Resource一起使用 @Qualifier("iosService") @Resource private AppService iosService; @Qualifier("andoridService") @Resource private AppService andoridService; public AppService getAppServiceByType(String type){ if(StringUtils.equals(type,"ios")){ return iosService; }else if(StringUtils.equals(type,"andorid")){ return andoridService; } return null; } }
适用于策略模式等