這個註解能夠控制某個configuration是否生效。具體操作是通過其兩個屬性name以及havingValue來實現的,其中name用來從application.properties中讀取某個屬性值,如果該值爲空,則返回false;如果值不爲空,則將該值與havingValue指定的值進行比較,如果一樣則返回true;否則返回false。如果返回值爲false,則該configuration不生效;爲true則生效。
@Configuration
public class WebConfig {@Bean
@ConditionalOnProperty(prefix = RestProperties.REST_PREFIX, name = "auth-open", havingValue = "true", matchIfMissing = true)
public AuthFilter jwtAuthenticationTokenFilter() {
return new AuthFilter();
}
@Bean
public DataSecurityAction dataSecurityAction() {
return new Base64SecurityAction();
}