sustain/src/main/java/net/happyonroad/component/container/support/DefaultComponentRepository.java
@Override
    public List<Component> resolveComponents(Dependency dependency) {
        logger.trace("Finding   {}", dependency);
        List<Component> meets = new ArrayList<Component>();
        for (Component component : components) {
            if (dependency.accept(component)) {
                meets.add(component);
            }
        }
        if (meets.isEmpty()) {
            logger.trace("Missing   {}", dependency);
        } else {
            logger.trace("Found     {} {} components", dependency, meets.size());
        }
        //对所有满足的依赖进行排序
        Collections.sort(meets);
        //排序的原则是越高版本越好
        Collections.reverse(meets);
        return meets;
    }
@Override
    public List<Component> resolveComponents(Dependency dependency) {
        logger.trace("Finding   {}", dependency);
        List<Component> meets = new ArrayList<Component>();
        for (Component component : components) {
            if (dependency.accept(component)) {
                meets.add(component);
            }
        }
        if (meets.isEmpty()) {
            logger.trace("Missing   {}", dependency);
        } else {
            logger.trace("Found     {} {} components", dependency, meets.size());
        }
        //对所有满足的依赖进行排序
        Collections.sort(meets);
        //排序的原则是越高版本越好
        Collections.reverse(meets);
        return meets;
    }
从当前已经解析的组件中找到符合依赖的组件列表，这不会触发实际解析动作

@param dependency 依赖信息
@return 组件列表