Java 注解与 C# 特性
一、元数据简介 元数据是指用来描述数据的数据。对编程语言来说,元数据可以为程序中元素添加额外的信息。这一功能可以被用于描述代码间关系,以及代码与其他资源的联系。 元数据可以被用于框架中。通过元数据可以实现在代码上对类的直接配置,避免编写如 xml 的配置文件。 Java 和 C# 都具有为程序中元素,如类、方法等等,添加元数据的方式。Java中称为注解,而C#中称为特性。注解和特性都通过反射获取,关于两者的获取方式,已经在前一篇文章中有所记述。本篇只讨论注解和特性的定义和使用。 二、Java注解 注解的定义 如果想要自定义注解,需要继承 Annotation 类。 public class MyAnnotation extends Annotation { } 同时还有另一种写法,由此可知注释本质上是接口 public @interface MyAnnotation2 { } 和接口一样,注解可以添加静态变量 我们可以为注解添加“参数”,比如 Spring 中的注解 @Profile(value = "dev")。我们为其设置了 value 属性。 但是注解本是接口,不可能有保存数据的能力,要如何设置注解的属性呢?实际上,注解的属性在编写 Annotation 时是一个方法。即 public @interface MyProfile { String value(); } 还可以为参数添加默认值 public @interface MyAnnotation3 { String value(); int number() default 8; // set default number } 注解经常和枚举一起使用。 public @interface MyAnnotation4 { enum SELECT_TYPE {TYPE_A, TYPE_B} SELECT_TYPE selectType() default TYPE_A; } 元注解 元注解是注解的元数据,也就是对注解的注解。元注解为注解设置额外的信息,如设置注解的作用对象等等。...