V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
MarkLeeyun
V2EX  ›  Java

spring 学习有没有好的学习方法,学到 aop 这一块有点蒙了。

  •  1
     
  •   MarkLeeyun · 2020-06-06 12:01:24 +08:00 · 3917 次点击
    这是一个创建于 1391 天前的主题,其中的信息可能已经有所发展或是发生改变。
    17 条回复    2020-06-11 12:35:32 +08:00
    jaylee4869
        1
    jaylee4869  
       2020-06-06 14:22:42 +08:00   ❤️ 1
    得有反射基础,先学习一下静态代理,然后深刻理解动态代理,然后才是 AOP 。两年前我看过一篇文章才真真明白。
    刚好找到了: https://juejin.im/post/5a99048a6fb9a028d5668e62
    guoyuchuan
        2
    guoyuchuan  
       2020-06-06 14:32:53 +08:00
    最笨的办法就不要怂,干就是了。
    hello2060
        3
    hello2060  
       2020-06-06 14:54:08 +08:00
    不要关注名词,看看代码例子你就知道 aop 是干啥的能干啥了。如果还想知道为啥,java 有反射啊。
    seanxx
        5
    seanxx  
       2020-06-06 16:25:40 +08:00
    先学会用,原理以后再理解
    MarkLeeyun
        6
    MarkLeeyun  
    OP
       2020-06-06 16:28:30 +08:00
    @jaylee4869 谢谢,,动态代理这种东西,没咋用过一时半会还真的整不明白。。。
    MarkLeeyun
        7
    MarkLeeyun  
    OP
       2020-06-06 16:29:04 +08:00
    @ChaYedan666 好的,晚上就来拜读。
    damai0419
        8
    damai0419  
       2020-06-06 16:37:02 +08:00
    建议:
    1. 了解 aop 的名词,简单了解两个代理。
    2. 简单写一个,通过代理执行方法的小 demo,能在目标方法执行前后分别打印一句话即可。
    3. 写一个通过 aop 打印请求接口日志的小功能,包括 url,ip,参数,结果什么。
    这会儿应该算入门简简单单了解一点 aop 了。
    lower
        9
    lower  
       2020-06-06 16:44:05 +08:00
    不要纠结那么多,就当是你定义的一个类 /方法在某个特定时机下被框架调用执行了而已。
    yanzhiling2001
        10
    yanzhiling2001  
       2020-06-06 18:48:33 +08:00
    aop 就是按需引入功能,不是单纯的抽离出来公共方法,在需要的地方插入。
    用法就是 在方法执行前和后 分别做什么事。就是切面切点那种概念,多敲 demo 就理解了
    q8164305
        11
    q8164305  
       2020-06-06 18:56:56 +08:00 via Android
    不知道你能不能理解代码即配置,你写的代码对于框架就是一份配置罢了,框架会在适当的时机调用你的代码,而这个时机通常都是框架定义的,你只要按照它的规则写就行了
    MarkLeeyun
        12
    MarkLeeyun  
    OP
       2020-06-06 21:21:02 +08:00
    @damai0419 嗯呢好的。谢谢你呀。
    MarkLeeyun
        13
    MarkLeeyun  
    OP
       2020-06-06 21:21:27 +08:00
    @lower 这也是我正在学框架的纠结的地方。。
    cheng6563
        14
    cheng6563  
       2020-06-06 22:10:37 +08:00 via Android
    aop 就是全局的方法拦截器啊。因为 Java 没有直接支持这种功能,只有靠动态代理来实现。
    iplayio2019
        15
    iplayio2019  
       2020-06-06 22:51:12 +08:00
    和 WordPress 里的 Hook 是不是有雷同之处?
    mazai
        16
    mazai  
       2020-06-06 23:03:39 +08:00
    了解之前先了解静态和动态代理,动态代理有分为不同的方式,这些都得了解,AOP 也是基于 Proxy 和 InvocationHandler 来完成的,本质都离不开反射
    MarkLeeyun
        17
    MarkLeeyun  
    OP
       2020-06-11 12:35:32 +08:00
    谢谢大家。。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3255 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 14:02 · PVG 22:02 · LAX 07:02 · JFK 10:02
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.