Java自定义注解Annotation
2016-07-04 15:40
417 查看
Java中的注解主要用于标识在类,方法,属性,自动上,有很多用途,比如我们常见的@Override,自定义注解都继承java.lang.annotation.Annotation接口,使用@interface声明。注解中的参数有基本类型int,float,boolean,byte,double,char,long,short,Class类型,String类型,枚举类型,Annotation类型,以及以上所有类型的数组。下面我们创建一个注解类型
package jdbcDemo;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.METHOD, ElementType.TYPE,ElementType.FIELD})
@Documented
public @interface FiledOrder {
//顺序,默认值为0
public int seq() default 0;
//备注
String remark();
}
自定义注解中如果只有一个字段,要定义名称为value(); 字段的权限修饰要用public或默认值
package jdbcDemo;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.METHOD, ElementType.TYPE,ElementType.FIELD})
@Documented
public @interface FiledOrder {
//顺序,默认值为0
public int seq() default 0;
//备注
String remark();
}
</pre><pre class="java" name="code" snippet_file_name="blog_20160704_3_4371796" code_snippet_id="1743909">package jdbcDemo; public class Person { @FiledOrder(seq=2,remark="名称") private String name; @FiledOrder(seq=1,remark="顺序") private int age; public String getName() { return name; } public void setName(String name) { this.name = name; } }
package jdbcDemo; import java.lang.reflect.Field; public class firstAnnotationDemo { public static void main(String[] args) { // TODO Auto-generated method stub Class c=Person.class;//获取类实例 System.out.println("获取类实例"); Field[] fs=c.getDeclaredFields(); //获取所有字段 System.out.println(fs.length); for(Field f:fs) { System.out.println(f.getName()); //判断是否有注解 if(f.isAnnotationPresent(FiledOrder.class)) { FiledOrder fo=f.getAnnotation(FiledOrder.class); System.out.println("顺序"+fo.seq()+"--备注"+fo.remark()); } } } }
自定义注解中如果只有一个字段,要定义名称为value(); 字段的权限修饰要用public或默认值
相关文章推荐
- java-注解annotation
- Java Annotation Overview详解
- java教程之java注解annotation使用方法
- Hibernate的Annotation版Hello world实例
- 使用Eclipse开发工具如何解决Java Compiler中Annotation Processin不出现的问题
- 基于Java 注解(Annotation)的基本概念详解
- 基于Java注解(Annotation)的自定义注解入门介绍
- Java Android 注解(Annotation) 及几个常用开源项目注解原理简析
- 图文教程:使用MyEclipse的hibernate工具从数据库反向生成实体Bean
- Annotation
- hibernate annotation注解方式来处理映射关系
- Java Annotation
- java annotation入门
- 注解备忘
- Apache Shiro 使用 RequiresPermissions with Spring...
- Hibernate Annotation多表继承映射存储与查询
- 注解验证参数的合法性
- Spring3之零配置注解详解
- Struts2的服务器端的四种输入校验方式
- java自定义注解