- 浏览: 1361642 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (453)
- Struts2 (4)
- Struts1 (16)
- Spring (9)
- Hibernate (5)
- AJAX (16)
- MS Server (9)
- Oracle (35)
- 测试技术 (5)
- 其他 (37)
- JSF (1)
- EJB (5)
- ASP.NET (9)
- iBATIS (5)
- Struts Spring Hibernate (2)
- HTML (12)
- Eclipse使用 (5)
- 设计模式 (5)
- JSP (32)
- 正则表达式 (2)
- 服务器 (12)
- Java基础 (48)
- MySQL (4)
- 面试 (22)
- UML (1)
- 数据结构 (3)
- Ant (2)
- 规范 (4)
- JavaScript (29)
- 软件使用及技巧 (25)
- PHP (1)
- DWR (3)
- FreeMarker (1)
- ExtJs (17)
- JFreeChart (9)
- Reports (2)
- JavaException (1)
- Java Mail (1)
- Flex (9)
- 异常 (12)
- Log4j (2)
- WebService (1)
- jQuery (1)
- Sybase (2)
- myeclipse_plugin (2)
- Linux (5)
- jbpm (2)
- SCM (1)
- mongoDB (1)
最新评论
-
lihua2008love:
<typeAlias alias="User& ...
IBATIS简单操作 -
lihua2008love:
...
关于项目框架设计的一点学习 -
c_jinglin:
我使用<OBJECT CLASSID="cls ...
这就是个静态页面通过js控制mscomm对某com设备进行访问的例子. -
zlbjava:
赞,用了还不错
java获取请求的ip地址,并解析ip所属地区 -
完美天龙:
cs842813290 写道楼主,我明白的地方:在链表已有N个 ...
JAVA实现双向链表
自定义Annotation类型:标识符(marker Annotation):@interface
Annotation的使用:可以放在任何地方,如类的前面,方法的前面,变量、属性的前面等等。
Annotation的定义:
在定义Annotation型态的时候不能继承其它的Annotation型态或接口
1、不带参数的定义与使用
java 代码
- package com.test;
- public @interface AnnotationTest {
- }
java 代码
- package com.test;
- public class AnnotationUsage {
- @AnnotationTest
- public void method()
- {
- System.out.println("usage of annotation");
- }
- public static void main(String[] args)
- {
- AnnotationUsage au = new AnnotationUsage();
- au.method();
- }
- }
2、带一个参数的定义与使用,请注意:
如果定义的参数是"value"这个字符串,那么在使用时可以这样写:@AnnotationTest("hello")也可以这样写:@AnnotationTest(value = "hello"),如果定义的参数不是"value"这个字符串,那么在使用的时候必须显式赋值,也就是必须用@AnnotationTest(value = "hello") 这样的模式,如String value1(); 那么对应的是@AnnotationTest(value1 = "hello") 因为value是个默认的,所以在使用是可以显式也可以隐式
java 代码
- package com.test;
- public @interface AnnotationTest {
- String value();
- }
java 代码
- package com.test;
- public class AnnotationUsage {
- @AnnotationTest("hello")
- public void method()
- {
- System.out.println("usage of annotation");
- }
- public static void main(String[] args)
- {
- AnnotationUsage au = new AnnotationUsage();
- au.method();
- }
- }
3、带多个参数的定义与使用,请注意:
带多个参数的话,定义的时候用的是数组,使用的时候,可以是作为单个的也可以作为数组的形式
java 代码
- package com.test;
- public @interface AnnotationTest {
- String[] value();
- }
java 代码
- package com.test;
- public class AnnotationUsage {
- @AnnotationTest("hello")
- public void method()
- {
- System.out.println("usage of annotation");
- }
- public static void main(String[] args)
- {
- AnnotationUsage au = new AnnotationUsage();
- au.method();
- }
- }
java 代码
- package com.test;
- public class AnnotationUsage {
- @AnnotationTest({"hello"})
- public void method()
- {
- System.out.println("usage of annotation");
- }
- public static void main(String[] args)
- {
- AnnotationUsage au = new AnnotationUsage();
- au.method();
- }
- }
java 代码
- package com.test;
- public class AnnotationUsage {
- @AnnotationTest({"hello","world"})
- public void method()
- {
- System.out.println("usage of annotation");
- }
- public static void main(String[] args)
- {
- AnnotationUsage au = new AnnotationUsage();
- au.method();
- }
- }
java 代码
- package com.test;
- public class AnnotationUsage {
- @AnnotationTest(value = {"hello","world"})
- public void method()
- {
- System.out.println("usage of annotation");
- }
- public static void main(String[] args)
- {
- AnnotationUsage au = new AnnotationUsage();
- au.method();
- }
- }
4、定义默认值的使用
java 代码
- package com.test;
- public @interface AnnotationTest {
- String value() default "yahaitt";
- }
java 代码
- package com.test;
- public class AnnotationUsage {
- @AnnotationTest
- public void method()
- {
- System.out.println("usage of annotation");
- }
- public static void main(String[] args)
- {
- AnnotationUsage au = new AnnotationUsage();
- au.method();
- }
- }
java 代码
- package com.test;
- public class AnnotationUsage {
- @AnnotationTest("hello")
- public void method()
- {
- System.out.println("usage of annotation");
- }
- public static void main(String[] args)
- {
- AnnotationUsage au = new AnnotationUsage();
- au.method();
- }
- }
java 代码
- package com.test;
- public @interface AnnotationTest {
- String value1() default "ttitfly";
- }
java 代码
- package com.test;
- public class AnnotationUsage {
- @AnnotationTest
- public void method()
- {
- System.out.println("usage of annotation");
- }
- public static void main(String[] args)
- {
- AnnotationUsage au = new AnnotationUsage();
- au.method();
- }
- }
java 代码
- package com.test;
- public class AnnotationUsage {
- @AnnotationTest(value1 = "hello")
- public void method()
- {
- System.out.println("usage of annotation");
- }
- public static void main(String[] args)
- {
- AnnotationUsage au = new AnnotationUsage();
- au.method();
- }
- }
4、枚举在Annotation中的使用
java 代码
- package com.test;
- public @interface AnnotationTest {
- EnumTest value1();
- }
- enum EnumTest
- {
- Hello,Yahaitt,Ttitfly
- }
java 代码
- package com.test;
- public class AnnotationUsage {
- @AnnotationTest(value1 = EnumTest.Hello)
- public void method()
- {
- System.out.println("usage of annotation");
- }
- public static void main(String[] args)
- {
- AnnotationUsage au = new AnnotationUsage();
- au.method();
- }
- }
java 代码
- package com.test;
- public @interface AnnotationTest {
- EnumTest value1() default EnumTest.Yahaitt;
- }
- enum EnumTest
- {
- Hello,Yahaitt,Ttitfly
- }
java 代码
- package com.test;
- public class AnnotationUsage {
- @AnnotationTest
- public void method()
- {
- System.out.println("usage of annotation");
- }
- public static void main(String[] args)
- {
- AnnotationUsage au = new AnnotationUsage();
- au.method();
- }
- }
java 代码
- package com.test;
- public class AnnotationUsage {
- @AnnotationTest(value1 = EnumTest.Hello)
- public void method()
- {
- System.out.println("usage of annotation");
- }
- public static void main(String[] args)
- {
- AnnotationUsage au = new AnnotationUsage();
- au.method();
- }
- }
评论
2 楼
hotdust
2011-11-23
以下的内容没有写出来:
1,使用annotation后的输出结果
2,在什么时候使用
1,使用annotation后的输出结果
2,在什么时候使用
1 楼
flowerjacky
2011-09-22
清晰易懂
发表评论
-
项目中用到的数字证书的创建,签名实现
2012-07-15 20:17 2260首先 需要下载jar包 bcprov-jdk15-145.ja ... -
DecimalFormat的用法介绍
2012-02-06 14:16 2514import java.text.*; import ... -
tomcat,jdk,maven环境变量配置(备忘)
2011-12-25 10:24 1464环境变量: CATALINA_HOME D:\P ... -
java获得指定时间几天前或几天后的日期
2010-01-14 09:28 8894/** * 得到几天前的时间 * * ... -
动态读取配置文件
2009-08-04 11:30 2519import java.io.File; import ja ... -
JAVA对数字证书的常用操作
2009-07-12 18:42 1467一需要包含的包 import java.security.* ... -
签字证书例子
2009-07-12 18:31 1658import java.io.FileInputStr ... -
list,set,map,数组间的相互转换
2009-07-01 16:10 29471.list转set Set set = new HashSe ... -
动态运行Java代码
2009-07-01 14:08 1448有些情况下,我们不得不动态运行Java代码,以便提供更加灵活的 ... -
防止java反编译的一些常用方法
2009-02-12 14:33 21281.隔离Java程序 最 ... -
操作数组
2009-01-20 12:48 1279List list1 = new ArrayList() ... -
java写入文件时庄和薛字的问题
2008-12-26 10:47 1516今天碰到一个很有意思的问题,当写入文件是庄或薛的时候,就会出现 ... -
Hessian的学习笔记
2008-12-01 12:20 12661- 整个jar很小,200多K,3.1版本的,当然,我下载的 ... -
编写一个Java程序,对指定文本进行数字签名(文本随意)
2008-10-08 14:12 2891一:需要包含的包 import java.security. ... -
java的property配置文件的用法
2008-07-29 16:26 1779package configuration; ... -
统一异常处理
2008-07-16 16:47 1990package com.bjsxt.oa.manager; ... -
Java反射机制之代理模式
2008-07-02 23:12 1585代理模式的作用是:为其他对象提供一种代理以控制对这个对象的访问 ... -
java.lang.reflect.Array的应用
2008-07-02 23:11 1912java.lang.Array 类提供了动态创建和访问数组元 ... -
Java语言的反射机制
2008-07-02 23:10 1700在JAVA运行环境中,对 ... -
@Documented Annotation的使用
2008-07-02 23:09 2496@Documented Annotation的使用: @Do ...
相关推荐
处理器需要实现`Processor`接口,并在`@SupportedAnnotationTypes`注解中声明所支持的自定义Annotation类型。处理器的任务可以是生成额外的源码或编译时的验证。例如: ```java @SupportedAnnotationTypes(...
总结一下,自定义Annotation的关键步骤包括:创建一个遵循`MKAnnotation`协议的类,重写`mapView(_:viewFor:)`以定制视图,处理点击事件,以及将Annotation添加到地图上。通过这些步骤,开发者可以自由地在地图上...
本教程将通过一个简单的自定义Annotation注解示例——`CustomAnnotationDemo`,帮助新手了解如何创建和使用自定义注解。 首先,让我们看看如何定义一个自定义注解。在Java中,注解的定义使用`@interface`关键字。...
Java 6 开始支持自定义 Annotation 类型。 2. Annotation 的使用场景: - 编译器警告和错误:Annotation 可以指示编译器进行特定检查,如 `@NonNull` 表示参数或变量不应为 null,违反此规则时编译器会发出警告。 ...
3. 注解处理器需要标记`@javax.annotation.processing.Processor`注解,并指定其处理的注解类型。 4. 编写注解类,定义你需要在编译期间处理的行为。 5. 在项目的`build.gradle`文件中配置`annotationProcessor`依赖...
定义一个Annotation类型通常使用`@interface`关键字,它可以包含一些成员,这些成员可以是基本类型、字符串、枚举或其他Annotation类型。成员的默认值可以通过`default`关键字来设置。例如,定义一个简单的Marker ...
然而,有时系统默认的转换器可能无法满足我们所有的需求,这时就需要自定义全局类型转换器。本文将深入探讨如何实现自定义全局类型转换器,以提升系统的灵活性和扩展性。 Spring MVC中的类型转换主要由`...
在Java编程语言中,注解(Annotation)是一种元数据,它提供了向编译器、工具或运行时系统提供额外信息的方式。自定义注解允许开发者创建自己的标记来满足特定需求,比如代码生成、验证、持久化等。本文将深入探讨...
自定义Annotation实际上自动继承了`java.lang.annotation.Annotation`接口,但不能继承其他Annotation类型或接口。这使得Annotation成为一种单继承的类型。 总之,Annotation技术是Java编程中的一个强大工具,它...
#### 一、Java中的内置Annotation类型介绍 在Java的世界里,Annotation(注解)的应用越来越广泛。本文将重点介绍Java 1.5及以后版本中内置的三种常用注解类型及其应用方式,并进一步探讨如何自定义Annotation。 *...
自定义 Annotation 的创建涉及到定义 Annotation 类型和实际使用 Annotation。定义 Annotation 类型时,使用 `@interface` 关键字: ```java public @interface MyAnnotation { String value() default ""; } ``` ...
要创建一个自定义注解,我们需要定义一个注解类型,并指定它的属性。例如: ```java @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.METHOD) public @interface MyCustomAnnotation { String value() ...
2. 自定义Annotation:自定义Annotation需要定义一个接口,这个接口就是Annotation类型。通过定义成员变量(通常带有默认值),可以为Annotation添加特定的元数据。自定义Annotation可以通过`@interface`关键字创建...
- 自定义Annotation允许开发者创建自己的Annotation类型,以满足特定需求。在Java 6.0及更高版本中,javac编译器已经支持自定义Annotation的处理。 三、Annotation的使用和处理 - Annotation的处理通常涉及到两个...
@Target:用于描述注解的使用范围,如果自定义注解不存在@Target,则表示该注解可以使用在任何程序元素之上。接收参数ElementType,其值如下: /**接口、类、枚举、注解**/ ElementType.TYPE /**字段、枚举的常量**/...
5. **自定义Annotation**:从Java 6.0起,开发者可以创建自己的Annotation类型,定义特定的元信息。这使得开发人员能够创建特定于应用程序的Annotation,用于各种目的,如验证、持久化、事务管理等。 6. **...
Java 6.0进一步扩展了对自定义Annotation的支持,允许开发者创建自己的Annotation类型,以满足特定需求。自定义Annotation通常需要与Annotation处理器配合,如Java的Apt工具,它可以扫描源代码,根据Annotation执行...
### Java软件开发实战:自定义标注类型 #### 16.3 自定义标注类型 **标注(Annotation)** 是Java 5引入的一个重要特性,它为元数据提供了一种标准化的方式来描述程序元素(如类、方法等)。通过使用标注,开发者...