脚本宝典收集整理的这篇文章主要介绍了Spring笔记(二),脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
1.AOP:
aop:面向切面编程,oop(面向对象编程,是一种纵向的关系,aop就是一种横向的关系,是对oop的补充),具体做法就是用动态代理生成代理类-?给程序统一添加功能的技术,这个代理类和被代理对象有共同的接口。
静态代理:写一个代理类实现被代理类(目标类)的目标接口,但是这种写法就是每次代理要写被代理类的时候都要写一个代理类,很慢发,所以有了动态代理。
动态代理:不写代理类,直接得到代理class对象,根据对象用反射的方法取得创建的代理实例。但是不写代理类的话就不能获得class的(构造器,方法,字段等,代理对象只需要专注增强代码的编写。即使实现相同接口,接口无法创建对象。
---1.proxy入口有个静态方法,只要你给它类加载器和接口,他就会返回给你代理类2.可以通过接口的Class对象,创建一个代理Class,通过代理Class(构造器)即可创建代理对象。 proxy.getProxyClass() 用class造class3.根据class构造器创建对象需要传入InvocationHandler,每次调用代理对象的办法最后都会调用InvocationHandler.invoke
2.动态代理(以后再补充,今天状态极差)
3.aspectj的使用:
aspectj:aop框架
使用:
(基于xml)
导jar包
service和Impl
要增强的配置(Myaspect):
applicationcontextxml:(增强)
效果:
add增强了,update没增强
AOP名词解释:
JoinPoint连接点:可以被拦截的点(可以被增强的方法),例如addUser,updateUser
pointCut切入点:被增强的方法,例如此例中adduser被增强了,updateuser没被增强,因此 adduser是切入点,updateuser不是
advice通知:表示增强
Aspect切面:多个通知和多个切入点组成 (pointcount 和 advice)
Target:即将被增强的对象
weaving织入:把通知作用到切入点的过程
--------------------------------------------------------------------------
五种通知类型:
前置通知:目标方法执行前可以在这个通知中做权限拦截
后置通知:在执行后做日志管理
环绕通知:在前后执行都可以做事务管理
异常通知:在代码出异常的时候会执行我们做事务回滚等内容
最终通知:不管是否异常都会做(用于释放资源)
以上是脚本宝典为你收集整理的Spring笔记(二)全部内容,希望文章能够帮你解决Spring笔记(二)所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。