1
jaylee4869 2020-06-06 14:22:42 +08:00 1
得有反射基础,先学习一下静态代理,然后深刻理解动态代理,然后才是 AOP 。两年前我看过一篇文章才真真明白。
刚好找到了: https://juejin.im/post/5a99048a6fb9a028d5668e62 |
2
guoyuchuan 2020-06-06 14:32:53 +08:00
最笨的办法就不要怂,干就是了。
|
3
hello2060 2020-06-06 14:54:08 +08:00
不要关注名词,看看代码例子你就知道 aop 是干啥的能干啥了。如果还想知道为啥,java 有反射啊。
|
4
ChaYedan666 2020-06-06 15:21:33 +08:00
|
5
seanxx 2020-06-06 16:25:40 +08:00
先学会用,原理以后再理解
|
6
MarkLeeyun OP @jaylee4869 谢谢,,动态代理这种东西,没咋用过一时半会还真的整不明白。。。
|
7
MarkLeeyun OP @ChaYedan666 好的,晚上就来拜读。
|
8
damai0419 2020-06-06 16:37:02 +08:00
建议:
1. 了解 aop 的名词,简单了解两个代理。 2. 简单写一个,通过代理执行方法的小 demo,能在目标方法执行前后分别打印一句话即可。 3. 写一个通过 aop 打印请求接口日志的小功能,包括 url,ip,参数,结果什么。 这会儿应该算入门简简单单了解一点 aop 了。 |
9
lower 2020-06-06 16:44:05 +08:00
不要纠结那么多,就当是你定义的一个类 /方法在某个特定时机下被框架调用执行了而已。
|
10
40EaE5uJO3Xt1VVa 2020-06-06 18:48:33 +08:00
aop 就是按需引入功能,不是单纯的抽离出来公共方法,在需要的地方插入。
用法就是 在方法执行前和后 分别做什么事。就是切面切点那种概念,多敲 demo 就理解了 |
11
q8164305 2020-06-06 18:56:56 +08:00 via Android
不知道你能不能理解代码即配置,你写的代码对于框架就是一份配置罢了,框架会在适当的时机调用你的代码,而这个时机通常都是框架定义的,你只要按照它的规则写就行了
|
12
MarkLeeyun OP @damai0419 嗯呢好的。谢谢你呀。
|
13
MarkLeeyun OP @lower 这也是我正在学框架的纠结的地方。。
|
14
cheng6563 2020-06-06 22:10:37 +08:00 via Android
aop 就是全局的方法拦截器啊。因为 Java 没有直接支持这种功能,只有靠动态代理来实现。
|
15
iplayio2019 2020-06-06 22:51:12 +08:00
和 WordPress 里的 Hook 是不是有雷同之处?
|
16
mazai 2020-06-06 23:03:39 +08:00
了解之前先了解静态和动态代理,动态代理有分为不同的方式,这些都得了解,AOP 也是基于 Proxy 和 InvocationHandler 来完成的,本质都离不开反射
|
17
MarkLeeyun OP 谢谢大家。。
|