Java 自定义注解
在spring的应用中,经常使用注解进行开发,这样有利于加快开发的速度。
介绍一下自定义注解:
首先,自定义注解要新建一个@interface,这个是一个注解的接口,在此接口上有这样几个注解:
@Documented 标记生成javadoc
@Retention 注解的生存期,取值有:
| 
 取值  | 
 描述  | 
| 
 SOURCE  | 
 在源文件中有效(即源文件保留,领盒饭)。  | 
| 
 CLASS  | 
 在 class 文件中有效(即 class 保留,领盒饭)。  | 
| 
 RUNTIME  | 
 在运行时有效(即运行时保留)  | 
@Target 标注的目标,取值有
| 
 CONSTRUCTOR  | 
 用于描述构造器(领盒饭)。  | 
| 
 FIELD  | 
 用于描述域(领盒饭)。  | 
| 
 LOCAL_VARIABLE  | 
 用于描述局部变量(领盒饭)。  | 
| 
 METHOD  | 
 用于描述方法。  | 
| 
 PACKAGE  | 
 用于描述包(领盒饭)。  | 
| 
 PARAMETER  | 
 用于描述参数。  | 
| 
 TYPE  | 
 用于描述类或接口(甚至 enum )。  | 
@Inherited 标记继承关系
实例:创建一个作用于类的注解@Person
1.先创建一个注解类 Person
package com.wuyu.annotation; 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; @Documented
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
public @interface Person {
String name() default "";
int age() default 0;
}
2.创建测试类
package com.wuyu.annotation; @Person(name="test")
public class Test {
public static void main(String[] args) {
getPersion(Test.class);
}
public static void getPersion(Class<?> c){
if(c.isAnnotationPresent(Person.class)){
Person person = c.getAnnotation(Person.class);
if(person != null){
System.out.println("name=" + person.name() + ",age=" + person.age());
}
}
}
}
3.执行结果:
name=test,age=0
Java 自定义注解的更多相关文章
- java自定义注解类
		
一.前言 今天阅读帆哥代码的时候,看到了之前没有见过的新东西, 比如java自定义注解类,如何获取注解,如何反射内部类,this$0是什么意思? 于是乎,学习并整理了一下. 二.代码示例 import ...
 - java自定义注解实现前后台参数校验
		
2016.07.26 qq:992591601,欢迎交流 首先介绍些基本概念: Annotations(also known as metadata)provide a formalized way ...
 - java自定义注解注解方法、类、属性等等【转】
		
http://anole1982.iteye.com/blog/1450421 http://www.open-open.com/doc/view/51fe76de67214563b20b385320 ...
 - java自定义注解知识实例及SSH框架下,拦截器中无法获得java注解属性值的问题
		
一.java自定义注解相关知识 注解这东西是java语言本身就带有的功能特点,于struts,hibernate,spring这三个框架无关.使用得当特别方便.基于注解的xml文件配置方式也受到人们的 ...
 - Java自定义注解的实现
		
Java自定义注解的实现,总共三步(eg.@RandomlyThrowsException): 1.首先编写一个自定义注解@RandomlyThrowsException package com.gi ...
 - Java自定义注解源码+原理解释(使用Java自定义注解校验bean传入参数合法性)
		
Java自定义注解源码+原理解释(使用Java自定义注解校验bean传入参数合法性) 前言:由于前段时间忙于写接口,在接口中需要做很多的参数校验,本着简洁.高效的原则,便写了这个小工具供自己使用(内容 ...
 - JAVA自定义注解 ------ Annotation
		
日常开发工作中,合理的使用注解,可以简化代码编写以及使代码结构更加简单,下面记录下,JAVA自定义注解的开发过程. 定义注解声明类. 编写注解处理器(主要起作用部分). 使用注解. 相关知识点介绍, ...
 - Java自定义注解和运行时靠反射获取注解
		
转载:http://blog.csdn.net/bao19901210/article/details/17201173/ java自定义注解 Java注解是附加在代码中的一些元信息,用于一些工具在编 ...
 - JAVA自定义注解
		
在学习使用Spring和MyBatis框架的时候,使用了很多的注解来标注Bean或者数据访问层参数,那么JAVA的注解到底是个东西,作用是什么,又怎样自定义注解呢?这篇文章,即将作出简单易懂的解释. ...
 
随机推荐
- ActiveReports中如何控制页面的记录数
			
在 ActiveReports 中,可以固定报表每页显示的行数,当每页的数据不足固定的行数时,自动通过填补空白行来实现,当然这两种功能仅限于区域报表和页面报表中. 区域报表 在区域报表中,有很多方法来 ...
 - Java-用switch判断季节
			
import java.util.*;class Demo3 { public static void main(String[] args) { //需求 :输入一个月份 ,判断月份属于哪一个季节 ...
 - Windows 2008 R2+iis7.5环境下Discuz!X3论坛伪静态设置方法
			
2008R2不是那么的普及,加上X3版新出不久,所以伪静态的设置教程比较少,今天搞出来了,其实很简单,那么下面给大家简要说明一下.因为iis7.5集成了url重写,那就就方便多了,首先安装好你的dz论 ...
 - 关于rem的学习
			
网页常见单位px.em.rem:其中rem是css3新出的单位,官网是这样定义的:“font size of the root element”,意思是:相对长度单位,相对于根元素(即html元素)f ...
 - PDF 补丁丁 0.5.0.2713 发布(替换字库功能修正字符宽度问题)
			
新版本替换字库后,采用新字库的字符宽度.基本上可以满足一般的字库替换需求.请下载新版本测试.
 - CentOS下升级python2.7.10过程记录
			
1.准备好一份Python2.7.10源码包,下载地址: http://www.python.org/ftp/python/2.7.10/Python-2.7.10.tgz 2.安装Python2.7 ...
 - Practical Malware Analysis里有关inetsim\APATEDNS
			
以前从未接触过linux,碰到了许多问题,按步骤: 1\安装VMWARE,安装ubuntu16.04 问题1:之前装的是VM10,装完后没有安装VMTOOLS,我点安装 VMTOOLS,它弹出“简易安 ...
 - CASS 2008的野外操作码
			
表D-1 线面状地物符号代码表 坎类(曲): K(U) + 数(0-陡坎,1-加固陡坎,2-斜坡,3-加固斜坡,4-垄,5-陡崖,6-干沟) 线类(曲): X(Q) + 数(0-实线,1-内 ...
 - bzoj3600: 没有人的算术
			
题意:太难说了..手动去看吧反正不是权限题. 膜拜VFK大爷的神题! 其实一开始思路挺清楚的,如果我们能做到用一个实数去代表"数",这就是裸的动态区间最值查询. 关键是怎么用实数去 ...
 - hdoj 1576
			
//1Y真是爽啊 题意:要求(A/B)%9973,但由于A很大,我们只给出n(n=A%9973)(我们给定的A必能被B整除,且gcd(B,9973) = 1). 分析:根据题意a=b*x a=m ...