`
roway
  • 浏览: 50710 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

第二十二:Java Annotation(下)

 
阅读更多

一.

通过Junit4.x深入分析Annotation在框架中的实际应用

在所有方法执行之前执行的方法---@BeforeClass
public static void a(){}
在所有方法执行之后执行的方法---@AfterClass
public static void b(){}

二.

限定annotation使用对象@Target

表示@Target所修饰的注解是用来修饰什么的(Class Method ......), Target与ElementType是结合使用的

import java.lang.annotation.ElementType;
import java.lang.annotation.Target;

//表示@Target所修饰的注解是用来修饰什么的(Class   Method ......)
@Target( { ElementType.METHOD, ElementType.TYPE })
public @interface MyTarget {
	String value();
}

@MyTarget("hello")
public class MyTargetUsage {
	@MyTarget("world")
	public void doSomething() {
	}
}


三.

Retention与RetentionPolicy是结合使用的

import java.lang.annotation.Inherited;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;

@Inherited
@Retention(RetentionPolicy.RUNTIME)
public @interface InheritedTest {
	String value();
}

四.

要求为API文件@Documented

想要在使用者制作JavaDoc文件的同时,也一并将Annotation的讯息加入至API文件中

使用java.lang.annotation.Documented

import java.lang.annotation.Documented;

@Documented
public @interface DocumentedAnnotation {

	String hello();
}
public class DocumentTest {

	/**
	 * This is comments that I hava added
	 */

	@DocumentedAnnotation(hello = "welcome")
	public void method() {
		System.out.println("hello world");
	}
}



五.

子类是否继承父类@Inherited

预设上父类别中的Annotation并不会被继承至子类别中,可以在定义Annotation型态时加上。

java.lang.annotation.Inherited型态的Annotation

@InheritedTest("itcast")
public class Parent {
	public void doSomething(){
		System.out.println("do something");
	}
}

public class Child extends Parent {

}

public class Test {
	public static void main(String[] args) {
		Class<Child> clazz = Child.class;

		if(clazz.isAnnotationPresent(InheritedTest.class)){
			InheritedTest inheritedTest=clazz.getAnnotation(InheritedTest.class);
			
			String value=inheritedTest.value();
			
			System.out.println(value);
		}
	}
}


六.

注解与XML

struts2.0中的配置文件,即可以用XML来配置,也可以用注解来配置。(注解应用用于替代xml配置文件)
EJB3.0也采用注解来配置
注解又被称为元数据(不能再分割的数据)

分享到:
评论

相关推荐

    Java高手真经(编程基础卷)光盘全部源码 免积分

    看到那些要积分的很不酸,发布免费版本。 第1部分(2个程序包) HelloWorld.zip 01.Java入门样例HelloWorld demo.zip 03.Eclipse入门...javaannotation.zip 28.Java注释符编程 javafeature.zip 29.Java5.0语言新特性

    Java语言程序设计基础篇

    2. **第二章:Java环境配置** - 如何安装JDK - 设置JAVA_HOME环境变量 - 编写Hello World程序 3. **第三章:基本语法** - 变量、数据类型(基本类型与引用类型) - 运算符(算术、比较、逻辑、位运算符) - ...

    JAVA语言程序设计补充材料及例题代码

    "JAVA语言程序设计补充材料及例题代码"表明这是一份与Java编程相关的学习资源,特别是针对《JAVA语言程序设计》第八版。这本书通常会提供详细的理论讲解、编程实践和习题解答,帮助读者掌握Java编程的基础和高级概念...

    Core Java Volume II--Advanced Features(10th) Java核心技术第10版 第二卷 英文版

    本卷是第二部分,主要关注Java的高级特性,包括并发、网络、图形用户界面(GUI)、XML处理、数据库访问、反射、注解、Java集合框架的高级用法等。以下是这些关键知识点的详细介绍: 1. **并发**:Java提供了一套...

    Java语言程序设计第10版(基础篇)课后题答案

    《Java语言程序设计第10版(基础篇)》是一本经典的Java编程教材,它深入浅出地介绍了Java编程的基础知识。本压缩包包含了该书的课后习题答案源码,是学习者检验理解、巩固知识的重要参考资料。值得注意的是,这里的...

    Java高手真经(编程基础卷)光盘全部源码

    看到很多人都分卷打包的,下载很是不方便,还浪费积分,我就整合压缩打包到一个包里面,里面包含全部源码 源码目录如下: ...javaannotation.zip 28.Java注释符编程 javafeature.zip 29.Java5.0语言新特性

    Java大学实用教程(第2版)[耿祥义等编著][习题解答]

    习题解答06255.doc可能包含了书中第六章至第二十五章的习题答案,这些答案会涵盖以上提到的大部分知识点,通过对照解答,学习者可以检查自己的理解程度,找出不足并进行针对性的练习,从而更好地掌握Java编程。

    《Java程序设计实用教程(第二版)》例题及上机模板源码

    《Java程序设计实用教程(第二版)》是耿祥义和张跃平两位专家共同编著的一本经典Java学习教材,旨在帮助初学者和进阶者掌握Java编程的核心概念和技术。该书通过丰富的例题和上机实践模板,使得读者能够深入理解并...

    JAVA编程语言和数据结构第十一版 进阶版 编程答案

    - ch12a:可能代表第十二章的一部分,可能包含数组、字符串或递归等主题的编程题目和解答。 - ch18a:可能涉及数据结构,如栈、队列或树的实现和应用。 - ch22-24a:可能涵盖高级主题,如多线程、网络编程或持久化...

    java核心技术卷二

    针对这种情况,我们只能忽略这部分内容,而无法从这里提取与标题“java核心技术卷二”和描述“java核心技术第二卷 高级特性 提供给大家学习与交流”相关的知识点。由于缺少可读和可理解的内容,我们无法对这部分进行...

    Java核心技术++卷1++基础知识++原书第10版--中文版扫描--带书签已OCR

    《Java核心技术++卷1++基础知识++原书第10版》是Java开发人员的重要参考资料,它深入浅出地讲解了Java编程语言的核心概念和技术。这本书的中文版扫描版,不仅方便了中文读者阅读,还带有书签和OCR处理,使得在电子版...

    Java新手入门的30个基本概念.doc

    【Java新手入门的30个基本概念】 Java作为一种广泛使用的编程语言,因其强大的跨平台...掌握这些基本概念是Java学习的第一步,随着经验的增长,深入理解它们的内在原理和实际应用场景将使你成为更出色的Java开发者。

    Java_day22上课资料.zip

    在Java学习的第22天,我们可能已经接触到了一些高级主题,包括但不限于以下几点: 1. **多线程**:Java提供内置的多线程支持,允许程序同时执行多个任务。这包括Thread类、Runnable接口以及守护线程、线程同步(如...

    JAVA程序设计入门教程

    ### 第二章:Java编程基础 1. **语法结构**:学习Java的注释、变量声明、数据类型(基本类型和引用类型)、运算符和控制流(如if语句、for循环和while循环)。 2. **类与对象**:理解面向对象编程的核心,包括类的...

    Java知识框架

    2. **Java环境配置**:学习Java的第一步是安装JDK(Java Development Kit)并设置环境变量,包括JAVA_HOME、PATH和CLASSPATH,确保编译器和运行时环境能够正常工作。 3. **基本语法**:包括数据类型(原始类型如int...

    Java_day24上课资料.zip

    【Java_day24上课资料.zip】是一个包含Java编程学习资源的压缩包,它可能是你在学习Java编程语言的第二十四天时用到的教学材料。这个压缩包可能包含了课件、代码示例、练习题以及可能的讲解视频链接。下面将详细讨论...

    think in java4 中文版(真正的第四版)

    10. **注解(Annotation)**:注解是Java 5引入的元数据,可以用于编译时或运行时的处理,如配置、验证、动态代理等。 通过阅读《Think in Java 4 中文版》,无论是初学者还是有经验的开发者,都能从中获取到宝贵的...

    Java开发实战经典—5 (李兴华)(PDF)

    3. **第22章:Java开发实例讲解(人员管理)** 这一章通过一个实际的人员管理系统案例,展示了如何运用Java进行面向对象设计和编程。读者可以学习到类的设计、对象的创建与操作,以及如何使用集合框架存储和操作...

    java高手真经 光盘源码

    java高手真经 全光盘源代码 打包rar 第1部分(2个程序包) HelloWorld.zip 01.Java入门样例HelloWorld demo.zip 03.Eclipse入门样例...javaannotation.zip 28.Java注释符编程 javafeature.zip 29.Java5.0语言新特性

    JAVA参考大全.J2SE.5EDITION.part13至22.rar

    《JAVA参考大全.J2SE.5EDITION》是2006年1月出版的一本针对Java编程语言的详尽指南,特别关注J2SE(Java 2 Standard Edition)平台的第五个版本。这本书以其全面性和深度而备受赞誉,是Java开发者的重要参考资料。 ...

Global site tag (gtag.js) - Google Analytics