- 浏览: 2292447 次
- 性别:
- 来自: 成都
文章分类
- 全部博客 (357)
- J2EE (49)
- JavaScript (40)
- Spring (19)
- Struts (5)
- CSS (8)
- Hibernate (16)
- Java (67)
- DWR (4)
- JSON (3)
- XFIRE (1)
- Tomcat (1)
- Ant (2)
- 设计模式 (2)
- 经典收藏 (2)
- JSP (10)
- Linux (0)
- WebLogic (11)
- myeclipse (13)
- Buffalo (4)
- 文件上传相关 (1)
- oracle (33)
- html (6)
- JSTL (3)
- SVN (2)
- GIT (1)
- 孙卫琴(Java网络编程精解) (1)
- DOM4J (2)
- Swing (1)
- AJAX (1)
- Eclipse (5)
- 日志组件 (3)
- PowerDesigner (1)
- Jquery (22)
- IT技术开发相关网址 (1)
- Nutz (1)
- 其它 (1)
- Velocity (3)
- WebService (1)
- MySql (2)
- Android (1)
- Maven (2)
- Quartz (11)
- Lucene (1)
- springsource (1)
- Junit (1)
- Activiti (0)
最新评论
-
yzlseu:
拼凑,没有营养
Activiti进阶—分配组任务 -
zhangsenhao:
非常赞!代码很清楚
SpringMVC3.0+MyIbatis3.0(分页示例) -
xiamw2000:
分页写得不对,应该是 : order by ${orderNa ...
SpringMVC3.0+MyIbatis3.0(分页示例) -
sheertewtw:
...
SpringMVC:上传与下载 -
kingtoon:
...
XSS之xssprotect
注解:也指元数据,在代码中添加信息提供的一种形式化方法。
Java SE5内置了三种标准注解:
@Override,@Deprecated,@SuppressWarnings.
四种元注解:
@Target,@Retention,@Documented,@Inherited.
@Target表示可用于什么地方,ElementType包含有:
类、接口(包括注释类型)或枚举声明:ElementType.TYPE
字段声明(包括枚举常量)ElementType FIELD
方法声明 ElementType.METHOD
参数声明 ElementType.PARAMETER
构造方法声明 ElementType.CONSTRUCTOR
局部变量声明 ElementType.LOCAL_VARIABLE
注释类型声明 ElementType.ANNOTATION_TYPE
包声明 ElementType.PACKAGE
@Retention表示注释的生命周期,RetentionPolicy取值有:
SOURCE 编译器要丢弃的注释
CLASS 编译器将把注释记录在类文件中,但在运行时 VM 不需要保留注释
RUNTIME 编译器将把注释记录在类文件中,在运行时 VM 将保留注释,可以反射性地读取
一 定义注解
Useraction注解类
相关类:
UseractionTest注解类的测试
程序控制台输出:
姓名:陈国强,爱好:电影,地址:重庆大平,性别:男,爱人名字:李中,
公司名字:志向信息技术开发公司
姓名:陈国轼,爱好:小说,地址:成都双楠,性别:男,爱人名字:李静,
公司名字:志大信息技术开发公司
Java SE5内置了三种标准注解:
@Override,@Deprecated,@SuppressWarnings.
四种元注解:
@Target,@Retention,@Documented,@Inherited.
@Target表示可用于什么地方,ElementType包含有:
类、接口(包括注释类型)或枚举声明:ElementType.TYPE
字段声明(包括枚举常量)ElementType FIELD
方法声明 ElementType.METHOD
参数声明 ElementType.PARAMETER
构造方法声明 ElementType.CONSTRUCTOR
局部变量声明 ElementType.LOCAL_VARIABLE
注释类型声明 ElementType.ANNOTATION_TYPE
包声明 ElementType.PACKAGE
@Retention表示注释的生命周期,RetentionPolicy取值有:
SOURCE 编译器要丢弃的注释
CLASS 编译器将把注释记录在类文件中,但在运行时 VM 不需要保留注释
RUNTIME 编译器将把注释记录在类文件中,在运行时 VM 将保留注释,可以反射性地读取
一 定义注解
Useraction注解类
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}) public @interface Useraction { String userName() default "david"; Hobbys getHobbs() default Hobbys.程序; String [] getUserAddress() default {"成都高升"}; String sex(); //如注释类只有一个属性:userName,那么就要指明属性: //LovePer lovePer() default @LovePer(userName="Emma"); //注释类默认属性为:value,可不加属性值,直接输入值就行了 LovePer lovePer() default @LovePer("Emma"); @SuppressWarnings("rawtypes") Class commanyName(); }
相关类:
public enum Hobbys { 音乐, 电影, 小说, 程序, 游泳 } public @interface LovePer { //String userName(); String value(); } public class Commanys { public Commanys() { } private String name = "志向信息技术开发公司"; public String getName() { return name; } public void setName(String name) { this.name = name; } } public class CommanysTwo { private String name = "志大信息技术开发公司"; public String getName() { return name; } public void setName(String name) { this.name = name; } public CommanysTwo() { } }
UseractionTest注解类的测试
import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; @Useraction(commanyName=Commanys.class,userName="陈国强",getHobbs=Hobbys.电影,getUserAddress="重庆大平",sex="男",lovePer=@LovePer("李中")) public class UseractionTest { @SuppressWarnings("rawtypes") public static void main(String[] args) throws Exception{ if(UseractionTest.class.isAnnotationPresent(Useraction.class)){ Useraction annotaction = (Useraction)UseractionTest.class.getAnnotation(Useraction.class); System.out.print("姓名:"+annotaction.userName()); System.out.print(",爱好:"+annotaction.getHobbs()); System.out.print(",地址:"+annotaction.getUserAddress()[0]); System.out.print(",性别:"+annotaction.sex()); System.out.print(",爱人名字:"+annotaction.lovePer().value()); Class clazz = annotaction.commanyName(); Object obj = clazz.newInstance(); java.lang.reflect.Field field = obj.getClass().getDeclaredField("name"); field.setAccessible(true); System.out.println(",公司名字:"+field.get(obj)); } helloAnnotion(); } @Useraction(commanyName=CommanysTwo.class,userName="陈国轼",getHobbs=Hobbys.小说,getUserAddress="成都双楠",sex="男",lovePer=@LovePer("李静")) public static void helloAnnotion() throws SecurityException, NoSuchMethodException, NoSuchFieldException, IllegalArgumentException, IllegalAccessException, InstantiationException, InvocationTargetException{ Method helloMethod = UseractionTest.class.getMethod("helloAnnotion"); Useraction annotaction = (Useraction)helloMethod.getAnnotation(Useraction.class); if(null != annotaction){ System.out.print("姓名:"+annotaction.userName()); System.out.print(",爱好:"+annotaction.getHobbs()); System.out.print(",地址:"+annotaction.getUserAddress()[0]); System.out.print(",性别:"+annotaction.sex()); System.out.print(",爱人名字:"+annotaction.lovePer().value()); @SuppressWarnings("rawtypes") Class clazz = annotaction.commanyName(); Object obj = clazz.newInstance(); Method method = obj.getClass().getDeclaredMethod("getName"); method.setAccessible(true); System.out.print(",公司名字:"+method.invoke(obj)); } } }
程序控制台输出:
姓名:陈国强,爱好:电影,地址:重庆大平,性别:男,爱人名字:李中,
公司名字:志向信息技术开发公司
姓名:陈国轼,爱好:小说,地址:成都双楠,性别:男,爱人名字:李静,
公司名字:志大信息技术开发公司
- Java注解-doc.rar (17.5 KB)
- 下载次数: 10
- java-annotation-src.zip (2.6 KB)
- 下载次数: 4
评论
2 楼
liuzidong
2011-08-23
只是一个入门吧,希望对你有帮助呀!我也是才学的呀
1 楼
pandengzhegt
2011-08-23
哥们,讲完啊,看着挺感兴趣的怎么到半道儿没了-。-霎是郁闷噻
发表评论
-
java json-lib & jQuery & jsonp
2016-06-30 11:31 838参考链接: 1、http://hanqunfeng.iteye ... -
随机分配算法(Intege)
2016-01-08 13:05 5209参考资料: http://blog.csdn.net/yaer ... -
XSS之xssprotect
2012-12-07 23:03 29508参考资料 1 跨网站脚本 ... -
Java之Thread(线程题)
2011-10-31 12:33 1983特别说明:java线程相关的参考了张孝祥老师的代码 参考资料 ... -
Java之ThreadLocal(Synchronized)
2011-10-31 10:10 2701参考资料 1 深入研究java.lang.ThreadLoca ... -
Java之synchronized,wait,notify结合运用示例
2011-10-26 11:54 5943场景一:要求二个线程各 ... -
Java之synchronized深入应用
2011-10-23 08:03 1952参考资料 1 java synchronized详解 http ... -
Java之Timer入门
2011-10-11 15:32 1702参考资料 1 java中timer用 ... -
Java之线程(匿名内部类)
2011-10-10 16:36 164541 Thread对象 Thread t = new Thr ... -
Java之线程(join)
2011-10-10 15:39 1491运用场景:多个线程之间 ... -
Java之线程(synchronized,wait(),notify(),notifyAll())
2011-10-10 15:03 3266参考资料 Java多线程入门大全(适用于有一定基础者) htt ... -
Java之线程(sleep,线程名)
2011-10-10 13:09 9721参考资料 1 Java线程:创建与启动 http://lava ... -
Java之线程入门
2011-10-10 11:11 1541参考资料 1 Java线程:概 ... -
java之表反向生成类
2011-09-23 16:41 3496环境:XP+JDK1.5+Oracle10g 注意事项 1 请 ... -
java之线程, NIO学习资料
2011-09-19 12:13 1154Concurrent In Java 6 第一部分 集合 ... -
Java之BigDecimal
2011-09-15 10:12 18043参考资料 1 java.math.BigDecimal的用法 ... -
java.lang.OutOfMemoryError异常解决方法
2011-08-27 16:47 2118转载:java.lang.OutOfMemoryError异常 ... -
Jcom之jp.ne.so_net.ga2.no_ji.jcom.JComException: createInstance() failed HRESULT=
2011-08-25 12:33 11755参考资料 java应用jcom将word转pdf http:/ ... -
Quartz之AnnualCalendar
2011-08-11 17:14 5827问题1 我想排除一年中 ... -
Quartz之InterruptableJob
2011-08-11 11:03 11790问题1 由于业务需要,停止Quartz中正在执行的任务 Qua ...
相关推荐
首先,我们需要理解Java注解的基本原理。注解是一种元数据,它提供了一种安全的方法来将信息附加到代码中,而不直接影响代码的执行。Java提供了内置的注解,如`@Override`、`@Deprecated`等,但自定义注解允许我们...
java注解代码java注解代码java注解代码java注解代码java注解代码java注解代码java注解代码java注解代码java注解代码java注解代码java注解代码java注解代码java注解代码java注解代码java注解代码java注解代码java注解...
java 注释规范详解 java 注释规范是 Java 开发过程中不可或缺的一部分,它的目的是让项目中所有的文档都看起来像一个人写的,增加可读性,减少项目组中因为换人而带来的损失。java 注释规范可以分为三种:单行注释...
自定义注解的强大之处在于可以通过注解处理器生成额外的代码或者在运行时进行动态处理。例如,我们可以编写一个注解处理器来生成getter和setter方法,或者在运行时根据注解动态改变对象的行为。 总结一下,Java的...
### 一、Java注解概述 1. **定义**: 注解是一种声明式的编程元素,以`@`符号开头,后面跟着注解的名称。它们可以应用于类、接口、方法、变量等不同级别。 2. **预定义注解**: Java标准库提供了若干预定义注解,如`...
Java代码注释是编程实践中非常重要的一个环节,它有助于提高代码的可读性和维护性。注释能够解释代码的功能、用途以及实现逻辑,使得其他开发者能更快地理解代码,尤其在团队协作中更是不可或缺。本资源"Java代码...
1. 单行注释:以`//`开头,常用于临时性的或者快速的注解,例如: ```java // 这是一个示例单行注释,用于解释下面的代码功能 ``` 2. 多行注释:以`/*`开始,`*/`结束,可以跨越多行,适合较长的描述: ```java /* ...
总的来说,清除Java代码注释可以通过多种方式实现,包括使用IDE如MyEclipse的内置功能,编写自定义的注解处理器,或是利用第三方工具。每种方法都有其适用场景,开发者可以根据自身需求和技能水平选择最合适的途径。...
### Java的注释 在Java开发中,良好的注释习惯对于提高代码的可读性和可维护性至关重要。本文将详细介绍几种常见的Java注释方式及其用途,并通过实例展示如何设置Eclipse IDE中的注释模板,帮助开发者更好地管理和...
在Java编程中,自定义注解(Annotation)是一种强大的元数据机制,允许程序员在源代码中插入信息,这些信息可以被编译器、IDE或运行时环境用来进行各种处理。自定义注解使得代码更加可读,易于维护,并且可以自动化...
在Java编程中,注解(Annotation)是一种元数据,它提供了在代码中附加信息的方式,这些信息可以被编译器或运行时环境用来执行特定的任务。"Java使用注解拼接SQL语句"是一个常见的实践,它使得动态构建SQL查询变得...
Eclipse作为一款强大的Java集成开发环境(IDE),提供了许多便捷的功能,其中之一就是“Eclipse Java 注释模板”。通过配置和使用这些模板,程序员可以快速地为代码添加注释,提高代码的可读性和维护性。下面我们将...
Java 注释规范 Java 注释规范是为了让项目中所有的文档都看起来像一个人写的,增加可读性,减少项目组中因为换人而带来的损失。该规范定义了 Java 项目中注释的规范和要求,包括注释的类型、注释的内容、注释的位置...
Java注解是Java编程语言中的一个重要特性,它允许在代码中添加元数据,为编译器、解释器或任何其他工具提供额外的信息。在Java Web服务(WebService)开发中,注解的应用极大地简化了服务的创建和配置。本文将深入...
本文将深入探讨Java注解的API及其使用。 1. **注解的基本概念** - 注解(Annotation)是Java SE 5.0引入的新特性,它是一种用于向编译器或JVM提供元数据的方式。 - 注解通过`@`符号后跟注解类型的名称来应用,如`...
### Eclipse Java注释模板知识点详解 #### 一、概述 在进行Java开发的过程中,良好的代码注释习惯不仅能帮助自己快速回顾代码逻辑,还能方便其他开发者理解代码意图,从而提高整个团队的工作效率。Eclipse作为一款...
java自定义注解接口限流demo; java自定义注解接口限流demo; java自定义注解接口限流demo; java自定义注解接口限流demo; java自定义注解接口限流demo; java自定义注解接口限流demo; java自定义注解接口限流demo...