注解,动态代理 注解:从 JDK 5.0 开始, Java 增加了对元数据(MetaData) 的支持, 也就是 Annotation(注解)。 Annotation 其实就是代码里的特殊标记, 它用于替代配置文件,也就是说,传统方式通过配置文件告诉类如何运行,有了注解技术后,开发人员可以通过注解告诉类如何运行。 在Java技术里注解的典型应用是:可以通过反射技术去得到类里面的注解,以决定怎么去运行类。
注释:是给人看的,注解是给java编译器看的。
什么是Annotation,以及注解的作用?三个基本的 Annotation: @Override: 限定重写父类方法, 该注解只能用于方法 @Deprecated: 用于表示某个程序元素(类, 方法等)已过时 @SuppressWarnings: 抑制编译器警告.
@WebServlet(name="Servlet1",patternURL="/servlet/Servlet1") //通过注解来替代配置文件配置,在这里注解后,就不需要再配置文件中配置了
public class Servlet1 {
private String 姓名 = "aaa";
}
开发人员应该掌握什么:
1.编写注解
2.解析注解,并根据注解信息去运行程序。
@Deprecated这种注解都是sun公司开发的,当sun公司开发的注解不够用的时候,需要自己开发注解。 自定义 Annotation 自定义注解的目的:原来写在配置文件中的信息,可以通过注解来描述。 定义新的 Annotation 类型使用 @interface 关键字。 声明注解的属性 注解属性的作用:原来写在配置文件中的信息,可以通过注解的属性进行描述。 Annotation 的属性声明方式:String name(); 属性默认值声明方式:String name() default “xxx”; 特殊属性value:如果注解中有一个名称value的属性,那么使用注解时可以省略value=部分,如@MyAnnotation(“xxx") 特殊属性value[];
@Target(value={ElementType.METHOD,ElementType.FIELD}) @Retention(RetentionPolicy.RUNTIME) //@Inherited public @interface MyAnnotation1 {
String name() default "zxx";
String password() default "123";
int age() default 12;
Gender gender() default Gender.男;//支持枚举类型 MyAnnotation2 my2() default @MyAnnotation2(name="llll");
Class clazz() default String.class;
String[] ss() default {"aa","bbb"};
int[] i() default {1,2};
}
@MyAnnotation1(value="aaaa",name="123")
public void dddd(){
}
public enum Gender {
男,女;
}
网友评论