JAVA 注解 [Annotation]一览

1.基本注解  (以@开头)

注解名

描述

@Override

标记重写方法

@Deprecated

标记已过时

@WebServlet

标记是一个Servlet

@WebFilter

标记是一个Filter 过滤器

@WebListener

标记是一个Listener监听器

2.注解

  注解相当于标记,加上注解相当于程序打上了某种标记。

  在类加载时或编译时或运行时,通过反射获取注解,从而执行相应的操作

  注解可以加在:包、类、方法、字段、构造方法...等

3.元注解 (作用在注解上的注解)

   3.1 @Retention(RetentionPolicy.XXX) 指定注解保存时间
      值:来自于RetentionPolicy枚举类型的值
描述
SOURCE
源代码阶段
CLASS
字节码阶段 (默认值)
RUNTIME
运行时阶段
   3.2 @Target({ElementType.XXX,ElementType.XXX...}) 指定注解作用的位置
      值:来自于ElementType枚举类型的值

TYPE

类、接口、枚举

FIELD

字段

METHOD

方法

PARAMETER

参数

CONSTRUCTOR

构造方法

LOCAL_VARIABLE

局部变量

ANNOTATION_TYPE

注解

PACKAGE

注意:如果不写,默认可以放在任何位置

 

4.自定义注解

   1. 写一个注解类  @interface

//设置注解的保存时间
@Retention(RetentionPolicy.RUNTIME)
//设置注解的作用位置
@Target({ElementType.TYPE,ElementType.METHOD})
public @interface MyAnnotation {
}

  2. 写一个使用注解的类
@MyAnnotation

public class UseMyAnnotation {

}
  3. 写一个类,通过反射获取注解,指定执行的操作

/**
 * 通过反射获取如果类上加了MyAnnotatoin注解,
 * 执行对应操作
 */
public class MyAnnotationTest {
    public static void main(String[] args) throws Exception {
        //获取Class对象
        Class c=Class.forName("demo02.UseMyAnnotation");
        //获取类上的MyAnnotatoin注解
        Annotation a=c.getDeclaredAnnotation(MyAnnotation.class);
        //如果有,指定需要执行操作
        if(a!=null){
            System.out.println("人机加了MyAnnotatoin注解....");
        }
    }
}

 
  5.给注解添加属性
1.基本属性语法
       数据类型  属性名()  default  默认值;
       注意:使用注解需要为属性赋值 
       语法:@MyAnnotation(name="天人肖勇")

2.特殊value() 属性

       数据类型  value();
       特点:如果只给value属性赋值,可以省略value = 
3. 数组类型属性
      数据类型[]  属性名()  default  {值,值...};
      特点:如果数组只有1个值,可以省略{}
 

6.典型应用Hibernate底层实现,

   根据实体类自动生成建表的sql语句,并执行。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值