Java注解
来源:互联网 发布:2017淘宝店铺装修 编辑:程序博客网 时间:2024/06/01 09:31
注解(Annotation)
注解的分类
按运行机制分类
.源码注解:在源码中存在,编译成.class文件后就不存在了.编译时注解:注解在源码和.class文件中都存在(JDK自带注解都属于编译时注解).运行时注解:在运行阶段还起作用,甚至会影响运行逻辑的注解,可通过反射读取(@Autowired)
按来源分类
.来自JDK的注解.来自第三方的注解.自己定义的注解
元注解
给注解进行注解
JDK自带注解
@Override:重写@Deprecated:过时@Suppvisewarnings:忽略警告
第三方注解
Spring
@Autowired:自动注入@Service@Repository
Mybatis
@InsertProvider:插入@UpdateProvider:更新@Options
自定义注解
@Target({ElementType.METHOD,ElementType.TYPE}) /*Target是注解的作用域 ROURCE、CLASS、RUNTIME*/ @Retention(RetentionPolicy.RUNTIME) /*Retention是生命周期*/ @Inherited /*Inherited允许子类继承*/ @Documented /*Documented,生成javadoc时会生成注解信息*/ public @interface Description{ //.使用@interface关键字定义注解 String desc(); //.成员以无参无异常方式声明 int age() default 18; //.可以用default为成员指定一个默认值 /*如果注解只有一个成员,则成员名必须取名为value(),在使用时可以忽略成员名和赋值号(=)*/ /*注解类可以没有成员,没有成员的注解称为标识注解*/ /* 成员类型只能为基本数据类型及String,Class,Annotation,Enumeration */
解析注解
通过反射获取类、函数或成员上的运行时注解信息,从而实现动态控制程序运行的逻辑
步骤
.使用类加载器动态加载类Class c = Class.forName("com.test.Child");.找到类上面的注解boolean isExist = c.isAnnotationPresent(Description.class).拿到注解实例Description d = (Description)c.getAnnotation(Description.class)/*Description是注解名*/
0 0
- Java注解-自定义注解
- Java注解----自定义注解
- Java注解自定义注解
- Java注解--四种元注解
- Java注解-三种內建注解
- 【Java】【注解】自定义注解
- java注解
- java注解
- java注解
- java 注解
- Java注解
- java 注解
- Java 注解
- Java注解
- java 注解
- JAVA注解
- Java注解
- Java注解
- 【iOS沉思录】iOS内存管理试题总结与详解
- 增强学习(三)----- MDP的动态规划解法
- Hive编程指南09---调优
- 合并果子(NOIP2004)提高组
- LeetCode
- Java注解
- 为何img、input等内联元素可以设置宽、高
- 02-线性结构3 Reversing Linked List (25分)
- Socket网络编程,TCP/IP和Http等网络协议理解
- 搭建微信小程序基本的https与wss环境
- Kettle集群介绍及(windows、linux)环境搭建
- 苹果爸爸发飙,封杀 React Native?
- 实用的HTML优化技巧
- Java实现排列组合--递归