Spring根据包名搜索类

28 2月
预计阅读时间: 1 分钟

有时候我们会遇到这种情况,需要根据动态获取某个包下的一些特定类。

比如获取”com.xxx.domain”下所有类。

Spring中ClassPathScanningCandidateComponentProvider可以快速完成这项任务。

Spring最核心的一个部分就是Ioc,通过@Component来注解需要委托管理的类。

ClassPathScanningCandidateComponentProvider提供了一个默认的过滤器来处理Component。


当然,我们不需要这个过滤器,所以在实例化ClassPathScanningCandidateComponentProvider时传入参数false。

我们可以自定义过滤器来做一些逻辑相关的东西,比如加载以Task结尾的类。


虽然还有一个很方便的Reflection库可以选择,但是大部分情况下Spring就足够了。

发表评论

电子邮件地址不会被公开。