1、JDK中提供的三个基本的注解
@Deprecated:标注XX过时的。
@SuppressWarnings:抑制警告
unused:抑制的警告类型
{ "unused", "rawtypes", "unchecked" }:数组,抑制的多个警告类型
all:抑制所有警告
@Override:保证用户确实是覆盖了父类的某个方法。
2、自定义注解
使用@interface关键字来声明注解:public @interface MyAnn1{}
声明注解的属性字段:类型字段名() [defalut 默认值];
注解属性的类型只能下面的几种:
String Class 八个基本类型注解类型枚举类型及以上类型的1维数组。
特殊属性:String value;或String[] value();
使用时,直接给定取值,而不用加属性名称
3、元注解
服务于注解的注解就是元注解
*@Retention:指定注解的存活范围。默认是CLASS
RetentionPolicy:SOURCE|CLASS|RUNTIME
*@Target:指定注解可以用在什么元素上
ElementType:TYPE|METHOD|。。。
@Documented: 用于指定被该元 Annotation 修饰的 Annotation 类将被 javadoc 工具提取成文档.
@Inherited: 被它修饰的 Annotation 将具有继承性.如果某个类使用了被 @Inherited 修饰的 Annotation, 则其子类将自动具有该注解
注解的反射*:
注解的目的:替换传统的XML配置文件。
比如:映射一个Servlet
------------------
public class MyServlet extends HttpServlet{
...
}
web.xml
<servlet>
<servlet-name>MyServlet</servlet-name>
<servlet-class>com.leaf.MyServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>MyServlet</servlet-name>
<url-pattern>/servlet/MyServlet</url-pattern>
</servlet-mapping>
----------------
@WebServlet(urlPattern=”/servlet/MyServlet”)
public class MyServlet extends HttpServlet{
...
}