• Spring学习(三)


    一、Spring的AOP的基于AspectJ的XML的开发

    概述:IoC的目标是为了管理Bean ,而Bean是java面向对象(OOP)的基础设置。

    1、AOP的概述

      AOP:面向切面编程,是OOP的扩展和延伸,是用来解决OOP遇到问题。常用于数据库事务的编程,我们在做完第一步数据库数据更新后,不知道下一步是否成功,如果下一步失败,就使用数据库事务的回滚功能去回滚事务,使得第一步的数据跟新也作废。

      怎么知道失败:以异常作为消息,如果接到了异常信息,就回滚,从而保证了数据的一致性

     所以Spring的事务管理中只要让它接收到异常信息,他就回滚,而不用通过代码去实现。屏蔽也数据库代码。

    2、Spring的AOP底层的实现(自动调用)

        JDK的动态代理:有接口的

        Cglib的动态代理

    3、AOP的相关术语

      连接点:可以被拦截的点。

      切入点:真正被拦截的点

      通知:增强方法

      引介:类的增强

      目标:被增强的对象

      织入:将增强应用到目标的过程。

      代理:织入增强后产生的对象

      切面:切入点和通知的组合

    3、AOP的入门开发

      引入jar包

      编写目标类并配置

           

      编写切面类并配置

            

      进行aop的配置

        

      <!-- 定义目标对象:把目标对象交给Spring管理 -->
      <bean id="userDao" class="com.dongtian.UserDao.UserDao" />
      <!-- 定义aspect类 -->
      <bean id="myAspect" class="com.dongtian.UserService.MyAspect"/>  

      <!-- 例如要增强save( )-->

      <aop:config>
        <aop:pointcut expression="execution(* com.dongtian.UserDao.UserDao.save(..))"  id="pointcut1"/>
        <aop:aspect ref="myAspect">
          <aop:before method="before" pointcut-ref="pointcut1"/>
        </aop:aspect>
      </aop:config>

      通知类型(aop: xxx)

        前置通知 :  before

        后置通知 :    afterReturning   

        环绕通知:  around

        异常抛出通知  :afterThrowing

        最终通知:     after

    切入点表达式写法 execution(访问权限 返回值 包名.类名.法名(参数))

    二、Spring的AOP的基于AspectJ注解开发

    1、配置

    2、目标类

      

              

        

  • 相关阅读:
    【干货】MySQL数据库开发规范
    springboot入门
    移动端可拖拽效果
    利用视口单位实现适配布局
    最新前端开发工程师面试题
    12个HTML和CSS必须知道的重点难点问题
    win10升级后蓝牙不见了,设备管理器里没有,多了个串行控制器里的未知USB设备?
    安装vue-cli时出现的错误,cmd 卡住
    svg 认识及动画
    banner图片全屏显示
  • 原文地址:https://www.cnblogs.com/dongtian-blogs/p/10597676.html
Copyright © 2020-2023  润新知