注解
概述:Annotation注解,是一种代码级别的说明。它是JDK1.5及以后版本引入的一个特性,与类,接口,枚举实在同一个层次
1.编译检查:通过代码里标识注解,让编译器能够实现基本的编译检查 例如@Override
2.代码分析:通过代码里标识注解,对代码进行分析,从而达到取代xml目的。
3.编写文档:通过代码里表示注解,辅助生成帮助文档对应的内容
声明当前方法是重写父类方法
@Override
抑制编译器发生警告信息
(如果有变量未使用,未遵循泛型格式错误不报警告)
@SuppressWarnings(“unused”) int i;
@SuppressWarnings(“rawtypes”) List a = new ArrayList();
声明以下的方法是过时的方法,不建议大家使用
@Deprecated
//自定义注解
格式 :
public @interface 注解名称 {
//给注解定义属性 可以提供默认值
public 属性类型 属性名称1()默认值;
public 属性类型 属性名称2()default - 1;
// pubulic long timeout() default - 1;
//注解属性不支持自定义类型
// 注解的属性支持的类型有:基本数据类型(4类8种),string ,class , Annotation(注解类型),枚举类型,以及以上类型的一位数组类型
}
// 注解的作用: 配置作用
配置:开发的时候部分信息不希望写死在程序中,例如用户名和密码
可以将用户名和密码存放在txt . properties xml 文件中
框架:一大堆工具类的组合,目的:加速项目开发
后期的学习中,框架部分 hibernate spring struts2 很多的信息需要配置,提供了2中形式的配置 (xml.注解)
//什么时候用注解来做配置?
如果配置信息不会发生的修改,例如Servlet路径,建议使用注解的形式
如果配置信息需要发生频繁的修改,例如数据库的用户名和密码信息
建议采用传统方法(txt.properties.xml)
//定义注解的时候,需要通过元注解Retention说明当前自定义注解的作用域
@Retention(RetentionPolicy.RUNTIME) 运行期
// 定义注解的时候,需要通过元注解Target说明当前的自定义注解的目标对象
@Target(ElementType.Method)