java注解

java注解是附加在代码中的一些元信息, 用于一些工具在编译、运行时进行解析和使用, 起到说明、配置的功能(配合反射使用,通过反射读取解析注解的内容)

public class Student{
    @override
    public void test1(){
        
    }
}

自定义注解语法

public @interface 注解名 {定义体}
​
public @interface 注解名 {
       String value() default "默认值";
}
​
@Documented
//注解的类型(使用的地方)
@Target({ElementType.TYPE})
//生命周期(一般使用RUNTIME)
@Retention(RetentionPolicy.RUNTIME)
public @interface MyTable {
    //注解元,类似于类中定义的属性
    String value() default "";
    //int type() default 0;
}
​
​

注解参数的可支持数据类型:

 1.所有基本数据类型(int,float,boolean,byte,double,char,long,short)  2.String类型  3.Class类型  4.enum类型  5.Annotation类型  6.以上所有类型的数组

@Documented

表明这个注解应该被 javadoc工具记录. 默认情况下,javadoc是不包括注解的. 但如果声明注解时指定了 @Documented,则它会被 javadoc 之类的工具处理, 所以注解类型信息也会被包括在生成的文档中,是一个标记注解,没有成员。

@Target

表示支持注解的程序元素的种类,一些可能的值有TYPE, METHOD, CONSTRUCTOR, FIELD等等。如果Target元注解不存在,那么该注解就可以使用在任何程序元素之上。 注解目标 ElementType 1.CONSTRUCTOR:用于描述构造器     2.FIELD:用于描述属性     3.LOCAL_VARIABLE:用于描述局部变量     4.METHOD:用于描述方法     5.PACKAGE:用于描述包     6.PARAMETER:用于描述参数     7.TYPE:用于描述类、接口(包括注解类型) 或enum声明

@Inherited

表示一个注解类型会被自动继承,如果用户在类声明的时候查询注解类型,同时类声明中也没有这个类型的注解,那么注解类型会自动查询该类的父类,这个过程将会不停地重复,直到该类型的注解被找到为止,或是到达类结构的顶层(Object)。

@Retention

表示注解类型保留时间的长短,它接收RetentionPolicy参数,可能的值有SOURCE, CLASS, 以及RUNTIME。 注解生命周期 1.SOURCE:在源文件中有效(即源文件保留)     2.CLASS:在class文件中有效(即class保留)     3.RUNTIME:在运行时有效(即运行时保留)

自定义注解使用场景

通用Dao

实体类类名和表名不一致的时候

实体类属性名和表中的列名不一致的时候

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值