简单来说:
- 浅拷贝:对基本数据类型进行值传递,对引用数据类型进行引用传递般的拷贝,此为浅拷贝
- 深拷贝: 对基本数据类型进行值传递,对引用数据类型,创建一个新的对象,并复制其内容,此为深拷贝。
第一步,你需要创建一个注解 Region。
@Target({FIELD}) // @Target:定义注解的作用目标(作用域) @Retention(RUNTIME) //@Retention是一个元注解(meta-annotation),用于定义注解的保留策略。注解可以在源代码、编译时和运行时保留, @Constraint(validatedBy = RegionValidator.class) //约束条件 @Documented //如果一个注解@B,被@Documented标注,那么被@B修饰的类,生成文档时,会显示@B。如果@B没有被@Documented标准,最终生成的文档中就不会显示@B。 public @interface Region { String message() default "Region 值不在可选范围内"; Class<?>[] groups() default {}; Class<? extends Payload>[] payload() default {}; }
第二步,你需要实现 ConstraintValidator接口,并重写isValid 方法。
public class RegionValidator implements ConstraintValidator<Region, String> { @Override public boolean isValid(String value, ConstraintValidatorContext context) { HashSet<Object> regions = new HashSet<>(); regions.add("China"); regions.add("China-Taiwan"); regions.add("China-HongKong"); return regions.contains(value); } }
现在你就可以使用这个注解:
@Region private String region;
springboot-guide/docs/advanced/SpringBoot-ScheduleTasks.md at master · CodingDocs/springboot-guide (github.com)Spring Schedule 实现定时任务 如果我们需要自定义线程池执行话只需要新加一个实现SchedulingConfigurer接口的 configureTasks 的类即可,这个类需要加上 @Configuration 注解。 标签:异步,自定义,Region,数据类型,校验,regions,注解,拷贝 From: https://www.cnblogs.com/lengsong/p/17964860