学习内容:
自定义注解,校验传入数据是否为“asc”或“desc”
学习心得:
1.自定义注解的基本步骤:
- 在项目中新建一个包
annotation
,用于以后存放自定义的注解。 - 在
annotation
包中新建一个注解类,根据注解的功能命名,命名需要遵循大驼峰法则。 - 在注解类的类名上方,添加注解
@Target
(用于说明注解可以应用的范围,比如类、类的属性、方法、方法参数等)
@Retention
(用于说明注解起作用的时间,比如在源代码中、在编译时、在运行时)
@Constraint
实现注解的功能时需要用,主要将注解的实现类作为参数传入该注解。【注解的实现也可以在注解类中实现,无需单独建类,但是为了让代码结构更加清晰,我个人认为,应当重新建类,作为注解的实现类】
4.在实现类中,首先实现ConstraintValidator<A extends Annotation, T>
接口,其中第一个参数是自定义的注解类,第二个参数是要校验的参数的数据类型;其次是要重写isValid
方法,该方法第一个参数即为加了注解的那个参数,所以无需想办法获取需要被校验的值【我在这里饶了很大的弯子,查了很多的资料,本来以为是要使用反射,先获取到类,再依次获取到某个字段的值,但实际上