更新时间:2020-10-29 16:45:14 来源:动力节点 浏览1105次
在业务开发过程中我们会遇到形形色色的注解,但是框架自有的注解并不是总能满足复杂的业务需求,我们可以自定义注解来满足我们的需求。根据注解使用的位置,文章将分成字段注解、方法、类注解来介绍自定义注解
字段注解
字段注解一般是用于校验字段是否满足要求,hibernate-validate依赖就提供了很多校验注解,如 NotNull、 Range等,但是这些注解并不是能够满足所有业务场景的。比如我们希望传入的参数在指定的String集合中,那么已有的注解就不能满足需求了,需要自己实现。
自定义注解
定义一个 Check注解,通过 interface声明一个注解
Target定义注解的使用位置,用来说明该注解可以被声明在那些元素之前。
•ElementType.TYPE:说明该注解只能被声明在一个类前。
•ElementType.FIELD:说明该注解只能被声明在一个类的字段前。
•ElementType.METHOD:说明该注解只能被声明在一个类的方法前。
•ElementType.PARAMETER:说明该注解只能被声明在一个方法参数前。
•ElementType.CONSTRUCTOR:说明该注解只能声明在一个类的构造方法前。
•ElementType.LOCAL_VARIABLE:说明该注解只能声明在一个局部变量前。
•ElementType.ANNOTATION_TYPE:说明该注解只能声明在一个注解类型前。
•ElementType.PACKAGE:说明该注解只能声明在一个包名前
Constraint通过使用validatedBy来指定与注解关联的验证器
Retention用来说明该注解类的生命周期。
•RetentionPolicy.SOURCE:注解只保留在源文件中
•RetentionPolicy.CLASS:注解保留在class文件中,在加载到JVM虚拟机时丢弃
•RetentionPolicy.RUNTIME:注解保留在程序运行期间,此时可以通过反射获得定义在某个类上的所有注解。
验证器类
验证器类需要实现ConstraintValidator泛型接口
第一个泛型参数类型Check:注解,第二个泛型参数Object:校验字段类型。需要实现initialize和isValid方法,isValid方法为校验逻辑,initialize方法初始化工作
使用方式
定义一个实体类
对sex字段加校验,其值必须为woman或者man
测试
注意需要在User对象上加上@Validated注解,这里也可以使用@Valid注解
动力节点Spring视频教程,全新企业级开发下载学习,Spring 是最受欢迎的企业级 Java 应用程序开发框架,数以百万的开发人员使用 Spring 框架来创建性能好、易于测试、可重用的代码。 本课程深入浅出讲解Spring的核心技术IoC、AOP,剖析框架的源代码。能让学员掌握框架的原理和应用。
课程学习目录
1.Spring:Spring在三层架构中的位置
2.Spring:Spring的作用
3.Spring:什么是Spring
4.Spring:Spring体系结构
5.Spring:Spring框架下载与介绍
6.Spring:Spring特点
7.Spring:IoC与DI
8.Spring:第一个程序-基本Jar包
9.Spring:第一个程序-测试环境搭建
1.Spring:第一个程序-定义配置文件
11.Spring:第一个程序-创建容器并从中获取对象
12.Spring:第一个程序-Spring容器中对象是何时被创建的
13.Spring:第一个程序-FileSystemXmlApplicationContext
14.Spring:第一个程序-使用BeanFactory容器
15.Spring:第一个程序-两个容器的区别
16.Spring:bean的装配-默认装配方式
17.Spring:bean的装配-动态工厂Bean
18.Spring:bean的装配-静态工厂Bean
19.Spring:bean的装配-容器中Bean的作用域
2.Spring:bean的装配-Bean后处理器
21.Spring:bean的装配-Bean后处理器的应用
22.Spring:bean的装配-定制Bean的生命始末
完整目录可以关注动力节点Java视频教程
以上就是对“Spring注解视频教程,经费系列下载”的介绍,希望对大家有所帮助,还想学习更多关于Java的课程,可以关注动力节点官网Java视频教程,免费下载学习。
0基础 0学费 15天面授
有基础 直达就业
业余时间 高薪转行
工作1~3年,加薪神器
工作3~5年,晋升架构
提交申请后,顾问老师会电话与您沟通安排学习