一、ConditionalOnProperty
@Component
@ConditionalOnProperty(name = "evi.gateway.rabbitStatus", havingValue = "open")
public final class SendOrderHandle {
。。。。业务代码
}
通过配置属性,控制是否走业务逻辑
application.properties : evi.gateway.rabbitStatus=close
标签属性
- @Retention(RetentionPolicy.RUNTIME)
- @Target({ElementType.TYPE, ElementType.METHOD})
- @Documented
- @Conditional({OnPropertyCondition.class})
- public @interface ConditionalOnProperty {
- String[] value() default {}; //数组,获取对应property名称的值,与name不可同时使用
- String prefix() default "";//property名称的前缀,可有可无
- String[] name() default {};//数组,property完整名称或部分名称(可与prefix组合使用,组成完整的property名称),与value不可同时使用
- String havingValue() default "";//可与name组合使用,比较获取到的属性值与havingValue给定的值是否相同,相同才加载配置
- boolean matchIfMissing() default false;//缺少该property时是否可以加载。如果为true,没有该property也会正常加载;反之报错
- boolean relaxedNames() default true;//是否可以松散匹配,至今不知道怎么使用的
- }
二、@Deprecated 废弃方法类
三、@EnableWebMvc
@EnableWebMvc 只能添加到一个@Configuration配置类上,用于导入Spring Web MVC configuration 可以有多个@Configuration类来实现WebMvcConfigurer,以定制提供的配置。 WebMvcConfigurer 没有暴露高级设置,如果需要高级设置 需要 删除@EnableWebMvc并继承WebMvcConfigurationSupport
1、Spring Boot 默认提供Spring MVC 自动配置,不需要使用@EnableWebMvc注解
2、如果需要配置MVC(拦截器、格式化、视图等) 请使用添加@Configuration并实现WebMvcConfigurer接口.不要添加@EnableWebMvc注解
3、修改静态属性匹配URL (静态资源将会匹配/resources/开头的URL)
spring.mvc.static-path-pattern=/resources/**
四、@ControllerAdvic
@ControllerAdvice是一个@Component,用于定义@ExceptionHandler,@InitBinder和@ModelAttribute方法,适用于所有使用@RequestMapping方法。