• AOP的使用和事务


    首先要知道什么是AOP?
    AOP就是面向切面编程,分别有前置通知,后置通知,环绕通知,异常通知,最终通知。
    也就是我们平常说的代理类(porxy),其他的代理类继承于InvocationHandler,创建一个Object类的属性,创建一个有参构造器,参数是Object属性,使用invoke()方法,invoke方法有两个参数,一个为属性,另一个是参数。在invoke前后可以写新的代码。
    JDK使用的是invoke()其中有两个参数,Spring使用的是proceed(),不需要参数。
    xml文件的编写,标签中常用的有id、class和ref三个属性,id是自己命名的,class是类的全路径,ref需要对应其他标签里的id,相当于注入。
    在java中,如果想要使用一个class文件,需要加载这个文件。Class是用来做class(类)处理的工具类。那么就可以使用Class来处理想要处理的类,如果是自己写的类,很清楚里面都有什么,但是对于别人的类,并不清晰,所以需要使用Class.forName(),输入全路径,来获取该路径下类中的方法,即称为反射。
    代理只是实现了接口,代理类和实现类都是为了实现接口。
    切面类自己创的类和类的全路径,类中写的都是方法。
    xml文件中的标签就是相当于注入。切面使用的不是标签,而是aop:config标签,
    <aop:aspect ref="">ref要对应切面bean的id,中间可以写切点
    <aop:pointcut expression="execution(* com.hp.service.imp..(..))" id="pointcut"/> *通配符,这个路径下的任何类,(..)是参数。id=""是切点。
    <aop:before pointcut-ref="" method="">pointcut-ref就是aop:pointcut中的id,method="",就是切面标签中的类中的方法名。
    DaoImp 一个实现方法,一个构造器
    ServiceImp Dao属性名,一个set方法,一个实现方法,一个构造器
    Controller service属性名,一个set方法,一个实现方法,一个构造器

  • 相关阅读:
    动态SQL的注意
    关于数据库抛出异常:Incorrect string value: 'xE1x...' for column '字段名' at row 1 问题的解决方法
    让.bashrc文件在终端自动生效
    期中考试题
    RAP、Mock.js、Vue.js、Webpack
    全局变量变为局部变量 & MVC思想
    用 JS + LeanCloud 给网页添加数据库(留言功能)
    闭包的使用
    从发请求到AJAX到同源政策
    从实现HTML页面局部刷新到JSONP
  • 原文地址:https://www.cnblogs.com/sanshuishui/p/13922273.html
Copyright © 2020-2023  润新知