关于java注解的实现

注解会被编译到.class文件里面去,并且类的实例class.Class会保存注解相关的内容,所以我们用反射也可以拿到其注解的信息。比如:

// 判断@Report是否存在于Person类:
Person.class.isAnnotationPresent(Report.class);

所以在注解的生效原理,其实就是实例化并解析这个类的时候,容器要检查这个实例化的类是否有注解,并且这个注解关联的是类的哪个成员对象,

然后运用aop切面技术或拦截器,定义切点PointCut到注解上,根据成员的属性值以及注解定义的值等,进行aop的环绕等逻辑处理。

暗夜之中,才见繁星;危机之下,暗藏转机;事在人为,为者常成。
原文地址:https://www.cnblogs.com/zenghansen/p/14718579.html