【1】历史:
JDK5.0 新增 — 注解(Annotation),也叫元数据
【2】什么是注解?
注解其实就是代码里的特殊标记,这些标记可以在编译,类加载,运行时被读取,并执行相应的处理。通过使用注解,程序员可以在不改变原有逻辑的情况下,在源文件中嵌入一些补充信息。代码分析工具、开发工具和部署工具可以通过这些补充信息进行验证或者进行部署。
使用注解时要在其前面增加@符号,并把该注解当成一个修饰符使用。用于修饰它支持的程序元素。
【3】注解的重要性:
Annotation 可以像修饰符一样被使用,可用于修饰包,类,构造器,方法,成员变量,参数,局部变量的声明,这些信息被保存在Annotation的"name=value"对中。在JavaSE中,注解的使用目的比较简单,例如标记过时的功能,忽略警告等。在JavaEE/ArIdroid中注解占据了更重要的角色,例如用来配置应用程序的任何切面,代替JavaEE旧版中所遗留的繁冗代码和XML配置等。未来的开发模式都是基于注解的,JPA(java的持久化API)是基于注解的,Spring2.5以. E都是基于注解的,Hibernate3.x以后也是基于注解的,现在的Struts2有一部分也是基于注解的了,注解是一种趋势,一定程度上可以说 :框架=注解+反射+设计模式。
回顾已经学过的注解(1)——文档注释
/**
文档注释
@author zyy
@version 1.0
这是我文档注释的代码
*/
public class HelloWorld3{
public static void main(String[] args){
System.out.println("hi....java1");
}
/**
@param name 姓名
@param age 年龄
*/
public void eat(String name,int age){
System.out.println("hello");
}
}
@author zyy
@version 1.0
就是注解
回顾已经学过的注解(2)——重写
public class Student extends Person {
public void study(){
System.out.println("学习");
}
@override
public void eat(){
System.out.println("我喜欢吃小龙虾喝啤酒。。");
}
}
@override就是注解
回顾已经学过的注解(3)——Junit
/**
* @Auther: zyy
*/
public class CalculatorTest {
@Before
public void init(){
System.out.println("方法执行开始了。。。");
}
@After
public void close(){
System.out.println("方法执行结束了。。。");
}
//测试add方法
@Test
public void testAdd(){
System.out.println("测试add方法");
Calculator cal = new Calculator();
int result = cal.add(10, 30);
//System.out.println(result);--》程序的运行结果可以不关注
//加入断言:预测一下结果,判断一下我预测的结果和 实际的结果是否一致:
Assert.assertEquals(40,result);//第一个参数:预测结果 第二个参数:实际结果
}
//测试sub方法
@Test
public void testSub(){
System.out.println("测试sub方法");
Calculator cal = new Calculator();
int result = cal.sub(10, 30);
System.out.println(result);
}
}
@Before@After@Test
都是注解