注解逊笆,動態(tài)代理 注解:從 JDK 5.0 開始, Java 增加了對元數(shù)據(jù)(MetaData) 的支持, 也就是 Annotation(注解)。 Annotation 其實(shí)就是代碼里的特殊標(biāo)記, 它用于替代配置文件招刨,也就是說,傳統(tǒng)方式通過配置文件告訴類如何運(yùn)行酌心,有了注解技術(shù)后荠察,開發(fā)人員可以通過注解告訴類如何運(yùn)行。 在Java技術(shù)里注解的典型應(yīng)用是:可以通過反射技術(shù)去得到類里面的注解镣煮,以決定怎么去運(yùn)行類姐霍。
?注釋:是給人看的,注解是給java編譯器看的典唇。
什么是Annotation镊折,以及注解的作用?三個基本的 Annotation: @Override: 限定重寫父類方法, 該注解只能用于方法 @Deprecated: 用于表示某個程序元素(類, 方法等)已過時(shí) @SuppressWarnings: 抑制編譯器警告.
@WebServlet(name="Servlet1",patternURL="/servlet/Servlet1") //通過注解來替代配置文件配置,在這里注解后介衔,就不需要再配置文件中配置了
public class Servlet1 {
?private String 姓名 = "aaa";
?}
開發(fā)人員應(yīng)該掌握什么:
1.編寫注解
2.解析注解恨胚,并根據(jù)注解信息去運(yùn)行程序。
@Deprecated這種注解都是sun公司開發(fā)的炎咖,當(dāng)sun公司開發(fā)的注解不夠用的時(shí)候赃泡,需要自己開發(fā)注解寒波。 自定義 Annotation 自定義注解的目的:原來寫在配置文件中的信息,可以通過注解來描述升熊。 定義新的 Annotation 類型使用 @interface 關(guān)鍵字俄烁。 聲明注解的屬性 注解屬性的作用:原來寫在配置文件中的信息,可以通過注解的屬性進(jìn)行描述级野。 Annotation 的屬性聲明方式:String name(); 屬性默認(rèn)值聲明方式:String name() default “xxx”; 特殊屬性value:如果注解中有一個名稱value的屬性页屠,那么使用注解時(shí)可以省略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 {
男,女;
}