ComponentScan
你可以使用 @ComponentScan
來配置更復雜的包掃描。還有 @ComponentScans
作為容器註釋,聚合了幾個 @ComponentScan
註釋。
基本程式碼示例
@ComponentScan
public class DemoAutoConfiguration {
}
@ComponentScans({@ComponentScan("com.example1"), @ComponentScan("com.example2")})
public class DemoAutoConfiguration {
}
說明沒有配置的 @ComponentScan
就像 @SpringBootApplication
一樣,並掃描用這個註釋註釋的類下的所有包。
在這個例子中,我將陳述 @ComponentScan
的一些有用屬性:
- basePackages - 可用於宣告要掃描的特定包。
- useDefaultFilters - 通過將此屬性設定為 false(預設值為 true),你可以確保 spring 不會自動掃描
@Component
,@Repository
,@Service
或@Controller
。 - includeFilters - 可用於包括特定的 spring 註釋/正規表示式模式以包含在包掃描中。
- excludeFilters - 可用於排除特定的 spring 註釋/正規表示式模式以包含在包掃描中。
還有更多屬性,但這些屬性是最常用於自定義程式包掃描的屬性。