`
jiangxia207
  • 浏览: 2529 次
社区版块
存档分类
最新评论

Java自定义注解的个人理解

阅读更多
就网上看到的一些例子,个人感觉难点在于注解类定义Target的作用范围与使用该类的方式,再就是使用类给注解赋值
(1)使用Target时的位置
  Target的作用范围有7个,如下:
 1. CONSTRUCTOR:用于描述构造器
 2. FIELD :用于描述域
 3. LOCAL_VARIABLE 用于描述局部变量
 4. METHOD :用于描述方法
 5. PACKAGE :用于描述包
 6. PARAMETER :用于描述参数
 7. TYPE :用于描述类、接口(包括注解类型) 或enum声明。
如果Target定义范围为FIELD,如下:
@Target({ElementType.FIELD })
@Retention(RetentionPolicy.RUNTIME)
public @interface Column {
String value();

那么使用该类的话,只能对字段使用。
public class aaaaa {
@Column("aaa")
private int stuId;
}

如果Target定义范围为TYPE,如下:
@Target({ElementType.TYPE })
@Retention(RetentionPolicy.RUNTIME)
public @interface Column {
String value();


那么使用该类的话,只能对类使用,且在类之前声明。
@Column("aaa")
public class aaaaa {
private int stuId;
}
别的几种情况就不一一举例了。
(2)使用注解时赋初值
如果只有一个参数,则默认要用value(),如下
@Target({ElementType.FIELD })
@Retention(RetentionPolicy.RUNTIME)
public @interface Column {
String value();
}

public class Filter {
@Column("id")
private int stuId;
}
"id"可以由下面代码获取
Column column = field.getAnnotation(Column.class);
String columnName = column.value();

如果有多个参数,则可以使用自定义的函数名,如下
@Target({ElementType.FIELD })
@Retention(RetentionPolicy.RUNTIME)
public @interface Column {
String value1();
String value2();
}

public class Filter {
@Column(value1="aaa",value2="aa")
private int stuId;
}
两个赋值可以由下面代码获取
Column column = field.getAnnotation(Column.class);
String columnName1 = column.value1();
String columnName2 = column.value2();

总结:动态获取的例子目前只是以Filed作为例子,还可以以构造器,类型的注解来动态获取,可以参考http://knight-black-bob.iteye.com/blog/2229834  
分享到:
评论

相关推荐

    java 自定义注解验证

    在本案例中,作者创建了三个自定义注解,具体细节虽未详述,但我们可以深入探讨一下Java自定义注解的基本概念、创建过程以及如何进行验证。 首先,我们需要理解Java注解的基本原理。注解是一种元数据,它提供了一种...

    Java自定义注解实例

    Java自定义注解是Java编程语言中的一个重要特性,它允许程序员在代码中插入元数据,这些元数据可以被编译器或运行时环境用来执行特定的任务。自定义注解不仅提高了代码的可读性,还简化了代码处理,特别是在框架和库...

    Java自定义注解使用反射获取字段注解

    Java自定义注解是Java语言中的一个重要特性,它允许我们创建自己的元数据,为代码提供额外的信息。在Java中,注解(Annotation)主要用于编译器检查、代码生成、运行时处理等方面。本文将深入探讨如何通过反射机制来...

    java自定义注解和通过反射获取注解

    Java自定义注解和通过反射获取...总的来说,理解并熟练掌握Java自定义注解和反射的使用,对于提升Java开发者的编程能力和编写高质量代码具有重要意义。通过深入学习和实践,你可以创造出更加优雅和强大的Java应用程序。

    java自定义注解实现由类自动生成表

    首先,我们需要理解自定义注解的基本结构。在Java中,你可以通过`@interface`关键字来定义一个注解。注解包含元素(也称为成员),这些元素可以有默认值,也可以接受参数。例如,我们可以定义一个名为`@...

    Java自定义注解与spring BeanPostProcessor详解

    Java自定义注解和Spring的BeanPostProcessor是Java企业级开发中的两个重要概念,它们在构建灵活、可扩展的应用程序中发挥着关键作用。本文将深入探讨这两个话题,并结合源码分析,帮助开发者更好地理解和应用。 ...

    java自定义注解

    Java自定义注解是Java平台提供的一种元编程机制,它允许程序员在代码中插入特定的标记,这些标记可以在编译时或运行时被处理器解析,从而实现特定的功能。自定义注解可以用来增强代码的可读性,简化代码处理,以及...

    实现生成自定义注解的实体类

    自定义注解可以应用于类、接口、方法、变量等不同层级,使得代码更加模块化,易于理解和维护。本篇文章将详细探讨如何实现生成自定义注解的实体类,以及它们在实际开发中的应用。 一、自定义注解的定义 自定义注解...

    excel导入动态校验,自定义注解动态校验

    本文将详细探讨"Excel导入动态校验,自定义注解动态校验"这一主题,旨在帮助你理解和掌握如何在处理Excel数据时进行有效的验证和校验。 首先,Excel导入动态校验是指在将Excel数据导入到系统或数据库时,对数据进行...

    java 自定义注解的实例详解

    Java 自定义注解的实例详解 Java 自定义注解是 Java 语言中的一种重要特性,它可以用于创建文档,跟踪代码中的依赖性,并且可以执行编译时期检查。自定义注解可以让开发者根据需要创建自己的注解,以满足特定的需求...

    Java自定义注解md,学习代码

    总之,这个压缩包的内容涵盖了Java自定义注解的基础知识,以及与Java Web相关的Tomcat服务器、用户会话管理等内容,对于理解和实践Java后端开发非常有帮助。通过深入学习这些材料,可以提高对Java编程和Web应用开发...

    java自定义注解\标签库\监听\junit简单测试

    Java自定义注解是Java平台提供的一种元编程机制,它允许程序员在源代码中的任何元素(类、方法、变量等)上添加元数据。自定义注解可以被编译器或者运行时系统用来执行特定的任务,例如代码分析、性能监控、持久化...

    使用Java自定义注解模拟实现SpringBoot相关注解.zip

    本教程将探讨如何使用Java自定义注解来模拟实现这些SpringBoot相关的注解功能。 首先,我们来看`@Autowired`注解。`@Autowired`是Spring框架中的一个关键注解,用于自动装配bean。当我们想在类中注入某个依赖时,而...

    Java自定义注解程序Demo

    Java自定义注解是Java语言中的一个重要特性,它允许我们创建具有元数据的代码,这些元数据可以提供有关代码的额外信息,而不会直接影响代码的...通过学习和理解这个示例,你可以更好地掌握Java自定义注解的使用技巧。

    java 自定义注解例子 superMarket

    本教程以“superMarket”为例,深入探讨如何在Java中实现自定义注解。 首先,我们需要了解注解的基本结构。自定义注解以`@interface`关键字开始,然后是注解的名称,通常遵循驼峰命名规则。例如,我们可以创建一个...

    java(spring boot)自定义注解

    首先,让我们理解什么是自定义注解。在Java中,注解(Annotation)是一种元数据,它提供了向编译器或运行时环境提供信息的方式。自定义注解允许开发者创建自己的注解类型,以便在代码中插入特定的标记,这些标记可以...

    SpringBoot AOP各种注解、自定义注解、鉴权使用案例(免费下载)

    例如,创建一个名为`@Cacheable`的自定义注解,用于缓存方法的返回结果: ```java @Target(ElementType.METHOD) @Retention(RetentionPolicy.RUNTIME) public @interface Cacheable { String cacheName() default ...

    Spring java注解,元注解和自定义注解

    ### Spring Java注解、元注解与自定义注解详解 #### 一、Java注解简介 在深入了解Spring框架中的注解应用之前,我们首先需要对Java注解有一个基本的认识。Java注解(Annotation)是一种元数据,可以为程序代码添加...

    注解+自定义注解+元注解+理解

    本文将深入探讨注解、自定义注解、元注解及其理解。 一、注解的基本概念 1.1 注解的作用 注解的主要作用是为编译器或运行时环境提供信息,使得开发者能够简化代码,减少样板代码,提高代码的可读性和可维护性。...

Global site tag (gtag.js) - Google Analytics