• java注解


    JDK自带的三个注解:
    @Override        子类覆写父类的方法,或实现接口中的某个方法。
    @Deprecated    表明此方法已经过时了,不提倡使用
    如果一定要使用这个过时的方法,就需要使用
    @SuppressWarnings("deprecation")           抑制这个警告
     
    常见的第三方注解:
    Spring:@Autowired         自动植入,不需要写配置文件配置bean
                  @Service             用于标注业务层组件
                  @Controller         用于标注控制层组件,表明该类为控制器类
                  @RequestMapping       请求映射
     
     
    注解按照运行机制分为:
                源码注解          注解仅存在于源文件中,编译成.class文件就不在了
                编译时注解       注解在源码和.class文件中都存在(如JDK自带的)
                运行时注解       在运行阶段还起作用,甚至影响程序运行逻辑
     
    元注解:给注解添加的注解,称为元注解。
    @Target(ElementType.Method)        作用域,表明该注解使用到方法上
    @Retention(RetentionPolicy.RUNTIME)       生命周期
    @Inherited           可以继承的
    @Document         生成javadoc时会包含注解
    public @interface Desc{
             String desc();              //无参数,无异常方式成员
             String  author();
             int age() default 18;      //可以自动设置默认值
    }
     
     
    如果注解只有一个成员,则成员名必须取名为value(),在使用时可以忽略成员名和赋值号(=)
     
     
    如何使用自定义注解:
    @Desc(desc="...",author="....",age=23)
    public String foo{
           .....
    }
     
     
    如何解析注解:java反射机制,通过字节码文件获取方法上的注解
    Class c=Class.forName("类的全限定名");
    Method[] ms=c.getMethods();
    for(Method m:ms){
        //判断此方法上是否有Desc注解
        boolean isExist=m.isAnnotationPresent(Desc.class);
         if(isExist){
                  Desc d=(Desc) m.getAnnotation(Desc.class);
                  System.out.println(d.value());
    }
    }
  • 相关阅读:
    MkDocs: 构建你自己的知识库
    Vue入门
    Vue UI库
    【入门】PyTorch
    【转载】工业相机的原理与选型
    如果你是狮子,就得学会逼狼去吃草
    【转载】剖析Git的实现机制
    管理学-员工管理
    量化投资
    【汇总】图像格式
  • 原文地址:https://www.cnblogs.com/james111/p/6607391.html
Copyright © 2020-2023  润新知