读取Java注解类型
参考文章:
(1)https://www.cnblogs.com/extjs4/p/6411507.html 关于注解第一篇
(2)https://www.cnblogs.com/extjs4/p/6817064.html 关于注解第二篇


所有的表示注解的类如下:

举个例子,如下:
package com.test11;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface MzTargetPackage {
// 基本类型的包装类
boolean isCanNull() default true;
int num() default 100;
// String类型
public String version() default "";
// enum类型
public enum Color{ BULE,RED,GREEN};
Color fruitColor() default Color.GREEN;
// 数组类型 {"a","b","c"}
String[] value();
Code compoundTest();
Class<String> getC();
}
使用如上的注解,如下:
package com.test11;
public class Test {
@MzTargetPackage(isCanNull =true,
num=100,
version = "1.1.0",
fruitColor=MzTargetPackage.Color.BULE,
value={"a,","b","c"},
compoundTest=@Code(author = "closedevice",date="20161225"),
getC = String.class
)
@CSAnn
private void process() { }
}
(1)ArrayAttributeProxy属性代理了value={"a,","b","c"}

(2)CompoundAnnotationProxy属性代理了compoundTest=@Code(author = "closedevice",date="20161225")

而整个@MzTargetPackage注解也用一个CompoundAnnotationProxy来表示,如下:

(3)EnumAttributeProxy属性代理了fruitColor=MzTargetPackage.Color.BULE

(4)AttrConstant属性存储了剩下的属性值
为什么要使用如上三个属性代理?
读取Java注解类型的更多相关文章
- (转)深入理解Java注解类型(@Annotation)
背景:在面试时候问过关于注解的问题,工作中也用到过该java的特性,但是也没有深入的了解. 秒懂,Java 注解 (Annotation)你可以这样学 ps:注解最通俗易懂的解释 注解是一系列元数据, ...
- 框架基础:深入理解Java注解类型(@Annotation)
注解的概念 注解的官方定义 首先看看官方对注解的描述: An annotation is a form of metadata, that can be added to Java source co ...
- 深入理解Java注解类型(@Annotation)
http://blog.csdn.net/javazejian/article/details/71860633 出自[zejian的博客] java注解是在JDK5时引入的新特性,鉴于目前大部分框 ...
- 理解Java注解类型
一. 理解Java注解 注解本质是一个继承了Annotation的特殊接口,其具体实现类是Java运行时生成的动态代理类.而我们通过反射获取注解时,返回的是Java运行时生成的动态代理对象$Proxy ...
- Java注解类型(@Annotation)
简述 注解本质是一个继承了Annotation的特殊接口,其具体实现类是Java运行时生成的动态代理类.而我们通过反射获取注解时,返回的是Java运行时生成的动态代理对象$Proxy1.通过代理对象调 ...
- java注解类型的aop
import java.lang.reflect.Method; import javax.servlet.http.HttpServletRequest; import org.aspectj.la ...
- Java注解小记
java注解是jdk1.5以后新出的特性,注解提升了Java语言的表达能力,有效地实现了应用功能和底层功能的分离,框架/库的程序员可以专注于底层实现. 1.Java内置注解 主要有三个: @Overr ...
- 深入理解Java枚举类型(enum)
https://blog.csdn.net/javazejian/article/details/71333103 深入理解Java类型信息(Class对象)与反射机制 深入理解Java枚举类型(en ...
- java 注解,动态代理
秒懂,Java 注解 (Annotation)你可以这样学 深入理解Java注解类型(@Annotation) 注解可以理解为标签. 当开发者使用了Annotation 修饰了类.方法.Field 等 ...
随机推荐
- 14)settings.xml
1. User Level. ${user.home}/.m2/settings.xml 2. Global Level. ${maven.home}/conf/settings.xml <se ...
- poj 2591 Set Definition
题目 这道题是个水题,写博客上的人好像都不屑于写这这道题.但是我为什么还是觉得挺难的呢? 我也是看了别人的博客才过了的,感觉这种写法很新颖,这样就可以不用在排序了. 下面给出正解: #include& ...
- Postman - 測試 API 的好工具
POSTMAN in Google APP Store 因為工作的關係,常常寫一些 API 供 APP 使用.以前傻傻的,每次測試的時候都會自己刻一個 HTML 的表單,一個一個填入 input ,接 ...
- line tension
<!DOCTYPE html> <html> <head> <title>tension</title> <script type=& ...
- [MySQL Tips]:如何删除unique key约束
[场景]: 假设最初创建了一个表bank,在street属性上添加了unique约束. create table branch( branch_name ) not null primary key, ...
- [c# 20问] 4.Console应用获取执行路径
一行代码可以搞定了~ static void GetAppPath() { string path = System.Reflection.Assembly.GetExecutingAssembly( ...
- AbpZero兼容sql2008
笔者遇到的问题是公司服务器用的MSSQL的版本是2008,但AbpZero一些封装好的ORM语法只兼容到2012版本: 例如我遇到的问题就是AbpZero的分页就报这个错 然后我们要修改的是Entit ...
- SinGooCMS 内容管理系统
功能简介: -------------------------------------------------------------------- 案例 德业基 路升光电 博阅科技 明仁律师 卓兔网 ...
- php重写session的存储机制
重写session的存储机制 Session数据区 默认以 文件的形式存储与服务器操作系统临时目录中! 当 session数据区过多时,文件形式的存储,操作速度变慢.磁盘的读写(IO,input/ou ...
- 【python入门】之教你编写自动获取金币脚本
本文作者:青衫磊落 最近看到个特别全面源码分享网站,刚好有个项目是一直想做但是没有头绪的,就想下载学习一下.注册账号后,发现还需要若干金币.后来发现可以通过每隔一定时间发心情状态来获得金币,就打算写一 ...