建立在上个Project基础之上

@Component annatation继续保留,主要关注切面类 LogInterCepetor.java

在这个类里面删除所有的annotation 这个类交由spring的xml来管理

修改xml文件

 

<bean id = "logInterceptor" class ="com.chpn.aop.LogInterceptor"/> (配置切面类)
     <aop:config>

        (切入点配置)
         <aop:pointcut expression='execution(public * com.chpn.service..*.add(..))' id="servicePointcut"/>
            (切面配置) 

        <aop:aspect id="logAspect" ref="logInterceptor">

          (通知类型,以及参照的切入点(切入于何种方法))
        <aop:before method="before" pointcut-ref="servicePointcut" />
  </aop:aspect>

总结:

       1.配置切面类--切面逻辑,即要加在代理类的某种方法上的特定逻辑。如LogInterceptor,日志处理

        2.配置AOP

              1.配置切入点:<aop:pointcut expression = '...' id =' '>

                   (1) expression  里面为一个正则表达式,凡符合这个表达式条件的方法可被切入

                   (2) id 为这个pointcut的实例化名,方便后面调用

            2.配置切面<aop aspect id="..." ref = "..."/>

                (1) id为实例化名

               (2) ref 为调用一个切面类,即在某个切面上调用某个逻辑

           3.配置通知类型,所谓通知,即某个即将被加逻辑的对象(目标对象)方法,于何时加上这种逻辑(切面类逻辑)

           <aop:before method = "before" pointcut-ref = "...">

           (1)通知类型,一般有前置,后置,环绕

           (2)方法名,即逻辑类里面的方法名,将要被加于某个目标对象的方法上

           (3)pointcut - ref 切入于何种方法之上,参照于pointcut