自定义注解

关键字       @interface   写在类访问修改符与类名之间  表示该类为注解类

想更好的自己来写注解那么就要了解几个元注解

@Target

//作用域

//               CONSTRUCTOR:用于描述构造器;

//               FIELD:用于描述域;

//               LOCAL_VARIABLE:用于描述局部变量;

//               METHOD:用于描述方法;

//               PACKAGE:用于描述包;

//               PARAMETER:用于描述参数;

//               TYPE:用于描述类、接口(包括注解类型) 或enum声明;

@Retention

//生命周期

//        1、RetentionPolicy.SOURCE:注解只保留在源文件,当Java文件编译成class文件的时候,注解被遗弃;

//        2、RetentionPolicy.CLASS:注解被保留到class文件,但jvm加载class文件时候被遗弃,这是默认的生命周期;

//        3、RetentionPolicy.RUNTIME:注解不仅被保存到class文件中,jvm加载class文件之后,仍然存在;

@Documented

//生成javadoc时包含注解

@Inherited

//可被子注解继承他

**** 注解于类上的注解

 

通过@interface来修饰一个类  给其赋予元注解及VALUE 这样一个自定义注解就完成了

 

 

那么大家说了自定义注解到底能干什么呀

如:

1.导出cvs 数据时 某些字段不需要  导出那么  我们是写死吗? 现在我们的注解就有用了 通过有无指定注解的判断来检查是否可以导出该字段数据

2.日志通过Spring的切面,我们需要一个类一个类的加到切面上吗?答案肯定是不需要的?我们可以通过自定义一个注解。该注解为切点。方法上加该注解后,因切点为该注解那么该方法就自动加上了切面日志功能

 

示例:

第一题:在titles.add()时判断,该add的字段上注解有无自己定义的注解进行逻辑处理

第二题:@Pointcut("@annotation(MyLog)")切面业务就看自己的需求了这边不一一说明

       方法上加@MyLog

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值