SpringAOP小结

  • 静态代理的实现步骤
    • 书写目标类
    • 书写代理类实现和目标类相同的接口和方法
    • 调用目标类的方法
  • 静态代理的优点
    •   解决了核心代码和其它代码比如事务控制的耦合问题
  • 静态代理的问题
    •   解决不了代码冗长问题
  • SpringAOP的编程步骤
    • 书写目标类
    • 书写功能增强类实现MethodInteceptor接口
    • 切入点和组装
  • SpringAOP的优点
    •   解决了代码的耦合和冗长问题
  • 标签属性解释
    • bean将class为某个全类名的类创建类的权利转义给spring工厂,通过.getBean("id")调用
    • aop:config书写动态代理的内容
    • aop:pointcut是书写对应的切入点,写切入点的id和对应的expression表达式
    • aop:advisor是组装切入点和功能增强类的:
      •   pointcut-ref指向切入点id
      •        advisor-ref指向功能增强类的id
  • MethodInterceptor接口的作用
    • 单纯在aop学习的初期这里就是指书写功能增强类的时候需要实现的接口.这个接口的invoke方法里的参数就是传过来的对象
  • 解释如下切入点表达式的区别
      • Execution()精确到方法声明的表达式

      • Within()只精确到类的表达式

      • @annotation()只要是类中存在对应的标注的方法都符合要求
  • 关于标注表达式的使用
    •   简单的说一下标注.:标注就是起到了一种标记的作用
      •   这里面一般来说自定义一个标注就是实现一个软接口即可
        • 比如  public @interface hh(){}这就是一个简单的标注
        • 之后只需要在需要被动态生成代理类的里面去书写标注即可
posted @ 2018-12-11 19:26  歌语苳文  阅读(105)  评论(0编辑  收藏  举报