对java动态代理和spring aop的理解

本文探讨了Spring AOP的工作原理及动态代理的应用。详细解释了如何利用Java反射机制实现动态代理,使得无需修改原有代码即可添加如日志记录等功能。此外,还介绍了Spring如何生成动态代理对象并将额外操作加入到目标方法中。

看了尚学堂的动态代理的视频,讲的挺好的,自己现在的理解是AOP中被代理的对象是已经写好的代码,即通过配置文件就可以,以java反射的机制来调用被代理对象,需要处理的操作在invoke方法里添加,自己要对被代理的对象添加自己的业务逻辑在invoke方法里面加,比如在代理执行前或后增加日志记录或者是添加时间等。。。

动态代理无非就是在原来静态代理的基础上加上java的反射机制,这样就可以灵活的调用代理,这个代理可以不用预先编译,代理工厂内部方法就是实现反射等一系列的操作,这个在视频中讲的也很清楚。spring视频中第20个教程。

spring中的aop其实原来的那个东西叫被代理对象,日志拦截器应该叫代理对象的操作部分,由spring自己生成一个动态代理,将日志拦截器等额外的操作加到要操作的被代理对象中才生成一个代理对象,也就是说日志拦截器严格讲不能叫代理,代理是spring生成结合的。

spring aop的好处不仅仅时表面上看来的面向“面”的编程,即一个代理可以加到多个被代理对象的方法中,还有一个面向:"切",所谓面向切,就是说被代理对象不用添加侵入性的代码就可以,即被代理对象不用写任何代理,完全有spring来处理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值