需求描述:对某一个特定接口实现类,进行循环执行某一方法。例如校验,有电话号校验类,长度校验类,必填校验类。等等继承了一个接口ICheck。
实现方法:
@Service public class ValidationService { /** * Spring 注入技术,基于ICheck接口实现类 */ @Autowired List<ICheck> checks = new ArrayList<>(); public List<GenericDO> validate(List<GenericDO> dataList, IMetaData metaData){for(ICheck check: checks){ System.out.println("执行校验:"+ check); validateResult = check.validate(dataList,metaData); } return validateResult; } }
评价:使用spring注入技术,可以一次性把所有实现ICheck接口的实现类,全部放到集合中,然后依次遍历执行方法即可。非常实用。