wuyouzhuguli / SpringAll

循序渐进,学习Spring Boot、Spring Boot & Shiro、Spring Batch、Spring Cloud、Spring Cloud Alibaba、Spring Security & Spring Security OAuth2,博客Spring系列源码:https://mrbird.cc
MIT License
28.21k stars 8.11k forks source link

关于Spring教程中第一章的《深入学习Spring组件注册》中的错误 #39

Open chtzs opened 3 years ago

chtzs commented 3 years ago

在Spring中的教程第一章深入学习Spring组件注册中,有这样的一段关于自定义过滤器的代码,声称可以过滤所有类名包含字符串er的类

public class MyTypeFilter implements TypeFilter {
    @Override
    public boolean match(MetadataReader metadataReader, MetadataReaderFactory metadataReaderFactory) {
        // 获取当前正在扫描的类的注解信息
        AnnotationMetadata annotationMetadata = metadataReader.getAnnotationMetadata();
        // 获取当前正在扫描的类的类信息
        ClassMetadata classMetadata = metadataReader.getClassMetadata();
        // 获取当前正在扫描的类的路径等信息
        Resource resource = metadataReader.getResource();

        String className = classMetadata.getClassName();
        return StringUtils.hasText("er");
    }
}

但事实上

return StringUtils.hasText("er");

起不到任何过滤目标字符串的作用,这仅仅是个判断字符串是否为空串的函数。请作者修正~

ruan4261 commented 3 years ago

盲生你发现了华点, XD