????1????????

?????????б????JDK 5.0?????????Annotation?????????м??????????Spring ???@AspectJ????@AspectJ?????????JDK 5.0???????????????JDK 5.0?????????????????????????????Spring??AOP??????

????????Java???????????????д??????????????????????????????Javadoc?????????????????????????????????Javadoc???????????????????Javadoc???????Щ@param??@return??Javadoc?????????????????????????????????????????????????????ù?Xdoclet??????????????ид?????Struts??Hibernate??????Xdoclet??????????????????????????????????????????

????JDK5.0???????????Javadoc?????Xdoclet????????????????JDK5.0?У???????????????Щ??????????Java????????????л?????б???????????????????

?????????????????????????????????????????????????????????У??????????????????????????????С?Java????????????????Щ?????????????????????????д?????????????????????????е???????????????????У????????Java??????????????????????????Щ???????????????????????????Spring AOP??@AspectJ?????????????????

????????????????????@??????????????????????java?????????£?java???????????????????java.lang???С?

????@Override????????????????????????????????????????д??????

????@Deprecated?????????????t??API???????????????????ò?????????????????趨???????????е???????

????@SuppressWarnings?????????Щ????????????????????

????2?????????

??????????????????????????

@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
public @interface Description {
 
 String value();
}

???????е?@interface????????????????annotations????????????????????@interface??????????class??interface?????????е??????????????java.lang.annotation.Annotation??????????????????????????

???????????????ж????????????????????????????????????????????????????????????????????????????

????a???????????????????????????????boolean value(String str)??boolean value() throws Exception???????????

????b?????????default??????????????????String level() default "LOW_LEVEL"??int high() default 2?????????????????????????

????c??????????????????????????????????????????String??Class??enums?????????????????????????????????ForumService value()??List foo()???????

????d?????????????????????????????????value()??????????????????????????=??????@Description("??????????")?????????ж???????????????value??????и???????????????????????????????и???????????????????@DeclareParents (value = "NaiveWaiter"?? defaultImpl = SmartSeller.class)??

????e????????????г??????г???????????????????????????????????????????????