spring入门及spring之aop

什么是spring
     spring是一个轻量级的控制反转和面向切面的容器框架
核心概念:
        1)控制反转(IOC):控制权由应用代码移交给外部容器(spring)
        2)依赖注入(DI):由spring容器动态的将某种依赖注入到指定的组件中

Spring之AOP(面向切面编程)

  理解:AOP就是让我们专心做事

  public void test(){
     <-----------  AOP 
     //在所有的方法之前加入日志记录功能 -> AOP的通知中
     //核心业务逻辑方法
  }

  核心概念:
  1)连接点:在程序执行过程中明确的点,例如:方法被调用,异常被抛出等等
  2)目标:被通知被代理的对象(完成具体核心业务逻辑的方法)
  3)通知:在某个特定的连接点上所执行的动作
  4)代理:将通知应用到目标上所创建的对象叫做代理对象
  注:只有代理对象具备完整的AOP特性,而AOP代码是写在通知中
  5)切入点:多个连接点的集合,将通知应用到哪些连接点上
  注:切入点相当于是一个匹配条件,只有满足条件的连接点才会将通知应用到目标上
  6)适配器:通知+切入点(通知将会根据切入点的匹配要求应用到具体的目标上)

  案例演示:
  1)前置通知:里氏替换原则(具有相同的父类)
  注:请用接口接收代理对象
  BookBizImpl implements IBookBiz
  Proxy implements IBookBiz

A
B   C
A=IBookBiz
B=BookBizImpl  C=proxy
BookBizImpl 实现了  IBookBiz
proxy       实现了  IBookBiz

  错误方式:
  BookBizImpl bookBiz=(BookBizImpl)proxy;
  正确方式:
  IBookBiz bookBiz=(BookBiz)proxy;

  2)后置通知
  3)环绕通知

  4)异常通知

 在这使用上面定义的通知

 在这体现

 5)适配器

  在案例中采用的是手动代理模式:
  spring.xml
  <!--目标-->
  <bean id="bookBizTarget"
  <!--通知-->
  <bean id="before/after..."
  <!--代理对象-->
  <bean id="proxy" class="....">
      <!--目标-->
      <!--通知-->
      <!--指定所生产的代理对象实现的接口-->
  </bean>
  将通知+目标应用到代理对象的工厂类上
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值