Spring boot 中的使用
在spring boot源码中,涉及到http编码的自动装配等大量的使用到了@ConditionalOnProperty的注解。
HttpEncodingAutoConfiguration类中部分源代码:
@Configuration( proxyBeanMethods = false ) @EnableConfigurationProperties({ServerProperties.class}) @ConditionalOnWebApplication( type = Type.SERVLET ) @ConditionalOnClass({CharacterEncodingFilter.class}) @ConditionalOnProperty( prefix = "server.servlet.encoding", value = {"enabled"}, matchIfMissing = true ) public class HttpEncodingAutoConfiguration { ///省略内部代码 }
上面自动配置类中华都是通过@ConditionalOnProperty来控制自动配置是否生效,下面具体了解下源码及具体使用。
@ConditionalOnProperty源码说明
@ConditionalOnProperty注解类源码如下:
package org.springframework.boot.autoconfigure.condition;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
impor