戴着假發的程序員出品
[查看視頻教程]
我們已經知道context:component-scan的配置可以通知spring掃描擁有spring標准注解的類。這些標注大致是:@Component、@Controller、@Service、@Repository。我們也可通過context:exclude-filter標簽配置排除我們不希望spring容器加載的類。
比如我們再web工程中只希望加載@Controller,就可以排除其他的標准注解的類。
這個標簽和context:include-filter 都是context:component-scan的自標簽,作用和context:include-filter正好相反,用於排除類。 但是配置方式和context:include-filter完全一樣,同樣有5個類型:
有兩個必須的屬性:
type: 配置filter的類型,這個類型一共有以下五個值:
assignable-指定掃描某個接口派生出來的類
annotation-指定掃描使用某個注解的類
aspectj-指定掃描AspectJ表達式相匹配的類
custom-指定掃描自定義的實現了
org.springframework.core.type.filter.TypeFilter接口的類
regex-指定掃描符合正則表達式的類
expression: 根據type的不同,這個表達式的配置方式也不同。
具體的案例可以參考context:include-filter章節。