3
@ComponentScan
會給你一個包含@Component
註釋的所有類的列表(或@Service
/@Repository
)。要做到這一點,我想他們使用反射來枚舉包中的所有類,並找到具有該註釋的類。ComponentScan如何工作?
但是根據other StackOverflow answers,由於ClassLoader
的工作原理,無法可靠地枚舉包中的所有類。那麼@ComponentScan
看起來如何實現這一目標?
藉助[ClassPathScanningCandidateComponentProvider](http://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/context/annotation/ClassPathScanningCandidateComponentProvider.html) – harshavmb
上面的類有一個方法'findCandidateComponents '接受'basePackage'作爲輸入參數,然後'ResourcePatternResolver'實例讀取所有具有'.class'後綴的類路徑文件。希望這可以幫助! – harshavmb