Spring:AOP面向切面

AOP:面向切面,是一种编程思想,OOP的延续。将系统中非核心的业务提取出来,进行
单独处理。比如事务、日志和安全等。这个简单来说就是可以在一段程序之前或者之
后做一些事。
Spring 的AOP和IOC都是为了解决系统代码耦合度过高的问题。使代码重用度高、易于维
护。不过AOP和IOC并不是spring中特有的,只是spring把他们应用的更灵活方便


AOP(Aspect Oriented Programming),也就是面向方面编程的技术
1) Aspect切面(方面)
指的是共通业务处理,可以切入到多个目标对象,可多次使用
2) JoinPoint连接点
指的是切面组件在目标对象上作用的位置, 例如:方法上戒者发生异常。
3) Pointcut切入点
切入点是连接点的集合,采用表达式指定
4) Target Object目标对象
5) Advice通知
指的是切面组件在连接点上执行的劢作。 例如:在方法调用前、方法调用后、方法调用前后等。
6) AutoProxy劢态代理
采用了AOP乊后,容器返回的对象是代理对象。用户在使用时,由代理对象调用切面组件和 目标对象的功能。
a. 目标对象有接口采用JDK代理、
b. 目标对象没有接口采用CGLIB代理


<bean>
...
<aop:config> 
<aop:pointcut id="servicepointcut" 
expression="execution(* com.mummy.service.*.*(..))" /> 
<aop:aspect id="loggeraspect" ref="optlogger"> 
<aop:before method="logger" pointcut-ref="servicepointcut"/> 
</aop:aspect> 
</aop:config> 
</beans>


<aop:aspect > 用于配置切面
  id属性
  ref属性 用于关联切面的bean
<aop:pointcut/>用于设置切入点
  expression属性 类似于正则形式的表达式
execution()用于设置方法限定
  execution(* com.mummy.service.*.*(..))
表示不限定返回类型,限定指定tarena.service包下的所有方法,不限定参数类型
  <aop:before> 表示采用before这种通知,作用于pointcut和方法上
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值