SpringBoot基础篇Bean之条件注入@Condition使用姿势
[springBoot----@ConditionalOnxxx相关注解总结
@Configuration
@EnableConfigurationProperties(value = { SwaggerProperties.class })//生成是加载配置文件到 Properties bean
@ConditionalOnProperty(name = "swagger.enable",havingValue = "true")//当存在该属性并且值为true时配置bean才生成
@EnableSwagger2
public class SwaggerAutoConfiguration {
@Bean
public Docket createRestApi() {
ApiInfo apiInfo = new ApiInfoBuilder()
.title("汽车基础数据维护")
.description("汽车基础数据维护")
.termsOfServiceUrl("http://www.asep.com")
.contact(new Contact("阿飛", "", "afei@ddf.com"))
.version("1.0.0")
.build();
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo)
.select()
.apis(RequestHandlerSelectors.basePackage("me.af81.ddf"))
.paths(PathSelectors.any())
.build();
}}
@ConditionalOnProperty
属性name
,,havingValue
:
- 从
application.properties
中读取某个属性值,如果该值为空,则返回false
;如果值不为空,则将该值与havingValue
指定的值进行比较,如果一样则返回true
;否则返回false
。如果返回值为false
,则该configuration
不生效;为true
则生效。
网友评论