好处:
能够读懂别人的代码,特别是框架相关的代码;
让编程更加简洁,代码更加清晰。
使用自定义注解解决问题!!
Java1.5版本引入。
Java中的常见注解
- @Override:告诉使用者及编译器,该方法覆盖了父类或接口中的同名方法
- @Deprecated:表示该方法已经过时了。
- @Suppvisewarnings:忽略deprecated给出的警告。
- 常见第三方注解:
- Spring: @Autowired, @Service, @Repository
- Mybatis: @InsertProvider, @UpdateProvider, @Options
注解分类
- 按照运行机制分:
- 源码注解:注解只在源码中存在,编译成class文件就不存在了
- 编译时注解:注解在源码和.class文件中都存在
- 运行时注解 :在运行阶段还起作用,甚至会影响运行逻辑的注解 如@Autowired注解
- 按照来源分:
- 来自JDK的注解
- 来自第三方的注解
- 自己定义的注解
- 元注解:注解的注解
自定义注解
- 语法要求
- 成员类型是受限的,合法的类型包括原始类型及String,Class,Annotation,Enumeration;
- 如果注解只有一个成员,则成员们必须取名为value(),在使用时可以忽略成员名和赋值号(=);
- 注解类可以没有成员,没有成员的注解类成为标识注解;
- 元注解(注解的注解)
- @Target(……)
- @Retention:生命周期(SOURCE:只在源码显示编译时丢弃;CLASS:编译时会记录到class中,运行时忽略;RUNTIME:运行时存在,可以通过反射读取)
- @Inherited:允许子类继承
- @Document:生成javadoc时会包含拒接的信息
- 使用自定义注解
实践
Java注解
原文:http://www.cnblogs.com/little-YTMM/p/5397186.html