Spring之apo

  • 1. AOP
  •    即面向切面编程
  • AOP中关键性概念 
  • 连接点(Joinpoint):程序执行过程中明确的点,如方法的调用,或者异常的抛出.
  • 目标(Target):被通知(被代理)的对象
  • 注1:完成具体的业务逻辑
  • 通知(Advice):在某个特定的连接点上执行的动作,同时Advice也是程序代码的具体实现,例如一个实现日志记录的代码(通知有些书上也称为处理)
  • 注2:完成切面编程
  •  
  • 代理(Proxy):将通知(公共部分的代码,日志记录)应用到目标(具体的业务逻辑方法)对象后创建的对象(代理=目标+通知),
  •              例子:外科医生+护士
  • 注3:只有代理对象才有AOP功能,而AOP的代码是写在通知的方法里面的
  • 切入点(Pointcut):多个连接点的集合,定义了通知应该应用到那些连接点。
  •                  (也将Pointcut理解成一个条件 ,此条件决定了容器在什么情况下将通知和目标组合成代理返回给外部程序)
  •     
  • 适配器(Advisor):适配器=通知(Advice)+切入点(Pointcut)
  • 如何实现AOP
  • 目标对象只负责业务逻辑代码
  • 通知对象负责AOP代码,这二个对象都没有AOP的功能,只有代理对象才有
  • 创建一个目标接口跟实现类
  • 再创建前置通知类
  • 在Spring.xml中配置前置通知
  • //定义前置通知
    <bean id="beforeAdivce" class="advice.BeforeAdvice">

  • 定义代理对象实现的接口
  •  <!--代理=通知+目标,只有完整的代理对象才具备AOP特性,而AOP代码是写在通知中的-->
    <bean id="proxy" class="org.springframework.aop.framework.ProxyFactoryBean">
    <!--通知-->
    <property name="interceptorNames">
        <list>
            <value>beforeAdivce</value>
        </list>
    </pro
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值