代码改变世界

java 注解,动态代理

2018-11-12 18:07  Loull  阅读(880)  评论(0)    收藏  举报

秒懂,Java 注解 (Annotation)你可以这样学

深入理解Java注解类型(@Annotation)

注解可以理解为标签。

当开发者使用了Annotation 修饰了类、方法、Field 等成员之后,这些 Annotation 不会自己生效,必须由开发者提供相应的代码来提取并处理 Annotation 信息。这些处理提取和处理 Annotation 的代码统称为 APT(Annotation Processing Tool)。

注解有什么用?给谁用?给 编译器或者 APT 用的。APT(Annotation Processing Tool):提取 & 处理 Annotation 的代码。

自定义注解操作步骤:

1、订阅注解,包括它的属性、默认值等

2、获取注解的上下文,比如用AOP获取打了注解的method,再比如直接通过类信息拿到注解

3、编写注解处理程序,在第二步中获取到注解所在上下文,这时可以真正编写注解所要影响的逻辑

4、使用注解:对目标方法、类打注解

 

Java 中的代理模式及动态代理

同样是通过 Proxy.newProxyInstance() 方法,却产生了 SellWine 和 SellCigarette 两种接口的实现类代理,这就是动态代理的魔力。