为了账号安全,请及时绑定邮箱和手机立即绑定

探秘Spring AOP

apollo JAVA开发工程师
难度高级
时长 2小时30分
学习人数
综合评分9.67
84人评价 查看评价
9.9 内容实用
9.4 简洁易懂
9.7 逻辑清晰
感谢 ,收获满满
老师讲的实在是太好了,忍不住要给个赞
很好的课程,学习过设计模式之后听,真的很有感触。
谢谢老师 大家加油!
讲解到位,清晰易懂 ,点赞
这节的位置放错了吧,应该放在前面的几个之前讲
关于Client类,个人认为应该写成Subject subject = (Subject) Proxy.newProxyInstance(RealSubject.class.getClassLoader(),RealSubject.class.getInterfaces(),new JdkProxySubject(new RealSubject()));
参数一loader:被代理类的加载器(这里实验了一下,使用任意类的加载器都对,写成被代理类的加载器可能是为了易于理解)
参数二interfaces:被代理类实现的所有接口(事实上,你不可能知道被代理对象实现的接口是什么,所以老师的写法不可取)
这里补充一下,使用@target()和@args()必须指定需要扫描的类的范围,不然会报错,如视频中,去掉within限制@within不会报错而@target会报错
这里补充一下,使用args()必须指定类名,如视频中within指定,或者bean,this,target都行,反正必须说明要在哪些类里拦截,不然会报错

代码我以自己的理解实现前三章并上传到github:https://github.com/bjchen2/SpringAOP有需要的可以自行下载
建议先看2.7再看2.3,老师上传视频的时候顺序好像弄错了

代码我以自己的理解实现前三章并上传到github:https://github.com/bjchen2/SpringAOP有需要的可以自行下载
这里应该是老师演示有误。
首先测试类里,不要捕获异常,不然不能起到检测作用(因为异常都被捕获了,所以测试永远都通过)
其次ProductService中insert和delete需要加上@AdminOnly注解,不然切面没法织入,不懂的建议先了解下切点的概念

老师的代码我以自己的理解实现前三章并上传到github:https://github.com/bjchen2/SpringAOP有需要的可以自行下载
demo代码在哪找
拦截显示不清楚,传达不好
这节课讲的是within模式,意思是指定包名,老师的代码里显示的清清楚楚,是指定的一个类。从IDEA左侧service包下有一个sub子包和打印可以看出,子类没有被aop植入,清清楚楚,只不过老师你太跳了!
老师犹豫完后,又说“这两个应该都是成功了”,弄得有点懵逼。
接着“这个应该是失败的”,这里开始就对了,这里他说的对是因为junit的注解后面跟有expected,它期望抛异常,但是没有抛,所以正确。
欢迎点赞交流~
老师前面说话有问题,代码显示的是insert和delete方法只是打印一句话,同时checkAccess方法没有被植入,所有不会抛出异常。
老师的话是“理论上,这一段他应该返回失败,因为我们还没有添加注解”,但是junit运行成功了。老师犹豫了一会,哈哈哈,adminInsert这个方法内的两句代码现在还没有关系,所以执行成功。
课程须知
本课程有一定的难度,需要同学较为熟练的掌握Spring和Spring Boot相关知识。熟练配置mysql,mongodb和maven项目。本课程将带领大家对源码进行刨析!不熟悉相关内容的同学可先学习SSM免费路径上的课程和慕课网上Spring Boot的基础课(http://www.imooc.com/learn/767)。
老师告诉你能学到什么?
让学生了解SpringAop的原理,使用,解读SpirngAop的经典代码,再通过案例加深让学生对SpirngAop的理解和掌握的程度

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消