# 场景说明
https://gitee.com/baomidou/jobs
jobs 分布式任务调度组件 , 任务调度中心启动注解 EnableJobsAdmin 默认注解上某个配置类对应 starter 启动 Import 相关 AutoConfiguration 类将会自动导入相关 Bean 注入到 Spring 容器, 启动类如下
那么问题来了,如果我想设置开发环境阶段不启动怎么办?是否可以控 ?
答案是肯定的,万能的 spring boot 是支持的就是 ConditionalOnProperty 注解,注解属性说明如下
@Retention(RetentionPolicy.RUNTIME)@Target({ ElementType.TYPE, ElementType.METHOD })@Documented@Conditional(OnPropertyCondition.class)public @interface ConditionalOnProperty { /** * 数组,获取对应property名称的值,与name不可同时使用 */ String[] value() default {}; /** * property 名称的前缀,可有可无 */ String prefix() default ""; /** * 数组,property完整名称或部分名称 * (可与prefix组合使用,组成完整的property名称),与value不可同时使用 */ String[] name() default {}; /** * 获取到的属性值与havingValue给定的值是否相同,相同才加载配置 */ String havingValue() default ""; /** * 缺少该property时是否可以加载。如果为true * 没有该property也会正常加载;反之报错 */ boolean matchIfMissing() default false;}
例如,启动前缀为 jobs 属性 enabled 值非 true 不执行,无配置接受到 matchIfMissing=true 条件执行:
在 application.yml 使用:
值得注意的是如果配置如上 false 下面的 JobsConfig 类中注入的 Bean 不会执行谈谈 Linux 命令 nohup 及符号 & 作用
Redis 高性能缓存解密
Spring Cloud 踩坑 403 之 CORS