【发布时间】:2017-11-08 06:40:12
【问题描述】:
@ComponentScan 将为您提供一个包中带有@Component 注释的所有类的列表(或@Service/@Repository)。为此,我想他们使用反射来枚举包中的所有类并找到带有该注释的类。
但是根据other StackOverflow answers,由于ClassLoader 的工作方式,您无法可靠地枚举包中的所有类。那么@ComponentScan 似乎是如何做到这一点的呢?
【问题讨论】:
-
上述类有一个方法
findCandidateComponents接受basePackage作为输入参数,然后ResourcePatternResolver实例读取所有带有.class后缀的类路径文件。希望这会有所帮助! -
@harshavmb,如果你把你的评论变成答案,我会投赞成票。
-
@NoelYap,你真好!我觉得现在把它作为我几乎忘记 Java 和 Spring 的答案已经太晚了。很抱歉让您失望了!
标签: java spring reflection annotations component-scan