1、自定义注解步骤:
※ 继承java.annotation.Annotation接口
※ 标注注解的生存周期
※ 定义注解的属性以及缺省值
※ 定义注解类处理类,负责处理注解
注解类定义如下:
package com.nshg.annotation
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)
public @interface MyAnnotation {
String type() default “varchar”;
}
说明:
◆标记@Retention定义注解的生存周期,其取值范围如下
RetentionPolicy.CLASS 保留到编译期,加载类的时候不生效
RetentionPolicy.SOURCE 保留在源代码期间,编译后的class不保留
RetentionPolicy.RUNTIME 保留到运行期间,编译后的class保留,可通过反射获取注解信息
◆标记@interface表明这是一个继承与java.annotation.Annotation的注解类
◆type()表明MyAnnotation注解中包含类型为string的type属性,其缺省值为varchar
◆@Target代表注解修饰范围,属于java.lang.annotation.ElementType,值可取
TYPE
FIELD
METHOD
PARAMETER
CONSTRUCTOR
LOCAL_VARIABLE
ANNOTATION_TYPE
PACKAGE
定义注解类处理类如下:
page com.nshg.annotation
import java.lang.annotation.Annotation;
import java.refect.Filed;
public MyAnnotationProcess {
public static process(Object obj) throws ClassNotFoundException {
//获取所有注解
Annotation[] annotations = obj.getClass().getAnnotations();
Filed[] fileds = obj.getClass().getDeclaredFileds();
for(Annotation annotation : annotations) {
if (annotation instanceof XXX) {
XXX annot = (XXX)annotation;
}
}
for (Filed filed : fileds) {
Annotation[] filedAnnotations = filed.getAnnotations();
for (Annotation filedAnnotation : filedAnnotations) {
if (filedAnnotation instanceof YYY) {
YYY yyy = (YYY) filedAnnotation;
}
}
}
}
}
DAO类写法如下:
………
Public void save(XXX xxx) throws ClassNotFoundException {
MyAnnotationProcess. Process(xxx);
}
…………
分享到:
相关推荐
自定义注解结合Hutool对SpringBoot接口返回数据进行脱敏 自定义注解结合Hutool对SpringBoot接口返回数据进行脱敏 自定义注解结合Hutool对SpringBoot接口返回数据进行脱敏 自定义注解结合Hutool对SpringBoot接口返回...
3、对spring aop认识模糊的,不清楚如何实现Java 自定义注解的 4、想看spring aop 注解实现记录系统日志并入库等 二、能学到什么 1、收获可用源码 2、能够清楚的知道如何用spring aop实现自定义注解以及注解的逻辑...
这个一个自定义注解实现给注解传递伪动态参数的小案例,可以在此自定义注解的基础上来记录接口的调用记录。
java 自定义注解验证 可自己添加所需要的注解,本案例中只写了三个自定义注解类 本案例只花了半天时间,如有不好之处请多提提意见。谢谢!
自定义注解实现拦截sql,并在sql中增加相应的条件 。 对应博客: https://blog.csdn.net/qq_37716298/article/details/120659139
自定义注解得使用,模拟spring通过注解方式创建bean实例!
SpringBoot AOP各种注解、自定义注解、鉴权使用案例SpringBoot AOP各种注解、自定义注解、鉴权使用案例SpringBoot AOP各种注解、自定义注解、鉴权使用案例
excel导入动态校验,自定义注解动态校验
包括Java自定义注解以及包括自定义注解的应用实例。以及注解相关知识的注解
看到别的博主写的几篇接绍注解相关的东西,觉得挺好的,mark一下 ... 自定义注解:...主要就是自定义了注解,使用了自定义注解,然后利用java的反射机制根据注解生成不同的sql语句
springboot 脱敏自定义注解 SpringAOP
通过一个超市的自动售卖机的例子,详细说明了java的自定义注解的使用。
自定义java注解开发,javabean中某方法添加该自定义注解,配置该方法相关信息指标,通过全局扫描该注解获取全部方法及相关指标,自动执行方法(本demo用于系统监控开发)
springboot自定义注解的demo;通过本案例实现了通过自定义注解的拦截的方法可以设置访问权限;通过拦截器获取指定方法上的自定义的注解,然后判断当前的接口需不要权限校验;然后通过对应的访问去处理;demo里面的代码...
java自定义注解实践,介绍详细!值得参考
自定义注解bindview 省去findviewbyid,直接在变量前边添加@BindView即可绑定控件
自定义注解实现由类自定生成数据库中的表,适合各种类型的数据库,本案例主要实现的时sql server和oracle
spring中自定义注解(annotation)与AOP中获取注解.通过实例演示自定义注解。
SpringBoot 、Shiro、 自定义注解权限控制
网上很多人想使用注解拦截spring mvc action中的一个方法,实现方法很多,一般是通过在拦截器中分析url路径来实现, 使用自定义注解的方式来标注要拦截的 action 中的某个方法, 没有很好的解决方法, 如果通过借助spring...