java 注解

55次阅读

共计 1311 个字符,预计需要花费 4 分钟才能阅读完成。

注解
注解是一个接口,程序通过反射机制获得指定程序元素的 Annotion 对象。通过这个对象来获取注解里的元数据。
元数据
mysql 中有元数据的概念,是对数据的数据的一种描述例如 mysql 中的元数据可以获得数据库服务器当前的状态,服务器的版本号。
元注解
负责注解其他注解栗子
@Retention(RetetionPolicy.RUNTIME)
@Target(ElementType.TYPE)

public @interface MyAnnotation{
public String name();
public String value();
}
解释;在 interface 前加 @表明这是一个注解,该注解可以使用到其他地方再定义两个指示,其中 @Retetion 表明注解会保留到运行期间,在编译的时候,不会去掉 @Target 表明只能用在类和接口上面
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface Column{
// 其中 default 代表是默认的,fieldName 为默认的内容
public String name() default “fieldName”;
public String setFuncName() default “getField”;
public String getFuncName() default “getField”;
public boolean defaultDBvalue() default false;
}
@Documented 在 java 生成文档的时候使用
@inherited 该注解某个被标注的类型是继承的,如果一个使用 @inherited 修饰的类型被用于一个 class,则这个 class 是该 class 的子类。
@Inherited
public @interface Greeting{
public enum FontColor{BULE, RED, GREEN};
String name();
}
自定义注解
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface FruitName{
String value() default “”;
}
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface FruitColor{
public enum Color{BULE, RED, GREEN};
Color fruitColor() default Color.GREEN;
}
public class Apple{
// 设置默认值为 Apple
@FruitName(“Apple”);
private String appleName;
// 设置默认 fruitColor 的默认值为 Color.RED
@FruitColor(fruitColor = Color.RED)
private String appleColor;
}
www.iming.info

正文完
 0