注解

一.五个预置注解

    1.@Override    
    2.@SafeVarargs
    3.@Functionallnterface
    4.@Deprecated
 //表明此方法已过时
@Deprecated   //@Target(value={CONSTRUCTOR, FIELD, LOCAL_VARIABLE, METHOD, PACKAGE, PARAMETER, TYPE})
        public String toString() {
            return null;         
          }  
     5. @SuppressWarnings
 //抑制编译时的警告信息,加上参数才能使用:deprecation:使用了过时的类或方法的警告
        //                           unchecked:执行了未检查的转换时的警告,如使用集合时未指定泛型
        //                           fallthrough:当在switch语句使用时发生了case穿透
        //                           path:在类路径,源文件路径等不存在路径的警告
        //                           serial:当在可序列化的类上缺少serialVersionID定义时的警告
        //                           finally:任何finally子句不能完成时的警告
        //                           all:以上所有警告
                                 //                 类型    (域)       方法           参数               构造器                 局部变量
    @SuppressWarnings//@Target({TYPE,FIELD,METHOD, PARAMETER, CONSTRUCTOR, LOCAL_VARIABLE})
       (value={"all"})

        int a; //此句没警告
        int b;//此句有警告
二:自定义注解

   
  /** 元注解:注解其他注解@Target,@Retention,@Documented,@Inherited */
@Target(value={ElementType.METHOD,ElementType.TYPE })     //描述注解使用范围,此处表明注解只能用在类型,方法前面
@Retention (RetentionPolicy.RUNTIME)//描述注解生命周期1.source:源文件中有效
                                                                                //           2.class:在字节码文件中有效
                                                                                //           3.runtime:在运行时有效

自定义注解与ORM简例:
ORM(Object RelationShip Mapping)
   类与表对应
   属性与字段对应
   对象与记录对应

FieldDemo 注解

@Target (ElementType.FIELD)
@Retention (RetentionPolicy.RUNTIME)
public @interface FieldDemo {

       //类型 + 名称+ 括号

       String columnName();//列名,对应记录  
       String type();//类型
       int  length();//长度
}

TableDemo注解
@Target (ElementType.TYPE)
@Retention (RetentionPolicy.RUNTIME)
       public @interface TableDemo {
             String value();//对类的注解,对应表名
}
@TableDemo(value = "tb_atudent")//这个类对应的表名为tb_atudent
 public class Student {
 @FieldDemo (columnName = "id",type = "int",length = 10)
 private int id; //这个属性对应的字段叫"id",类型type = "int",长度length =10
 @FieldDemo (columnName = "studentName",type = "varChar",length = 10)
 private String studentName;// 这个属性对应的字段叫"studentName",类型type = "varChar",长度length =10
 @FieldDemo (columnName = "age",type = "int",length = 3)
 private int age;
 public Student(int age, int id, String studentName) {
  super();
  this.age = age;
  this.id = id;
  this.studentName = studentName;
 }
 public int getAge() {
  return age;
 }
 public void setAge(int age) {
  this.age = age;
 }
 public int getId() {
  return id;
 }
 public void setId(int id) {
  this.id = id;
 }
 public String getStudentName() {
  return studentName;
 }
 public void setStudentName(String studentName) {
  this.studentName = studentName;
 }
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值