需求描述:对某一个特定接口实现类,进行循环执行某一方法。例如校验,有电话号校验类,长度校验类,必填校验类。等等继承了一个接口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接口的实现类,全部放到集合中,然后依次遍历执行方法即可。非常实用。