Spring知识梳理(3)--aop

spring的AOP

    《AOP--概念》
        AspectorientedPrograming
        1.面向切面编程,不改源代码  还能达到增强功能的目的
        2.采用横向抽取机制,取代了传统纵向继承体系重复性代码

    《AOP--原理》
        aop横向抽取机制.png------jdk动态代理、CGlib代理

    《AOP相关术语》
        Joinpoint(连接点):类里面可以被增强的方法,   这些方法就称为连接点
        Pointcut(切入点)*:
            在类里面可以有很对方法被增强,  
            在实际操作中,只是增强了其中的一个add方法,
            那么这个实际增强了的add方法,就称为切入点
        Advice(通知/增强)*:
            实际要拓展的功能是什么,这个功能逻辑就称为增强
            比如 要在一个可以增强的方法里边  拓展一个日志功能   这个日志功能就称为增强
            通知分为:
                前置通知,在方法之前执行
                后置通知,在方法之后执行
                异常通知,在方法出现异常时执行
                最终通知,在后置通知之后来执行
                环绕通知,在方法之前和之后执行
        Aspect(切面)*:
            把增强应用到具体方法上面, 这个过程 称之为切面
            即,把增强用到切入点的过程
        Target(目标对象)*:代理的目标对象--要增强的类
        Weaving(织入):把增强应用到目标对象的过程
        Proxy(代理):一个类被aop织入增强后,就产生一个结果代理类

《使用Aspectj实现aop(操作不改源代码 达到增强功能的目的) 》
—aspectj是一个面向切面的框架,本身不属于spring 只是和spring一起合作,从而达到操作aop的目的

        ---增强的类型有如下几种:
                前置增强 <aop:before />
                后置增强 <aop:after-returning />
                环绕增强 

        ***第一种方式***
            基于Aspectj的xml配置文件   进行aop操作     

            ps:一个知识点
            在xml中 使用【表达式】配置切入点的常用表达式
                execution(访问修饰符 空格 切入点的全路径(参数))

                (1)execution(* com.mybag.aop.Book.add(..))                              
                            表示对Book对象的add方法进行通知(增强)     

                (2)execution(* com.mybag.aop.Book.*(..))
                            表示对Book对象的所有方法进行通知(增强)      

                (3)execution(* user*(..))   
                            表示对Book对象的所有以user开头的方法进行通知(增强)

                (4)execution(* *.*(..))
                            表示对所有对象的所有方法进行通知(增强)        

        ***第二种方式***
            基于Aspectj的注解方式  进行aop操作

            注解方式增强类型:
                @Before  前置通知
                @AfterReturning  后置通知
                @Around 环绕通知
                @AfterThrowing 抛出通知
                @After 最终通知    不管是否异常,该通知都会执行

《log4j介绍 》
1.通过log4j 可以看到程序运行过程中更详细的信息
经常使用它来查看日志
2.使用
(1) 导入两个jar包
(2) 复制log4j的配置文件log4j.properties 到src下
(3) info,看到基本信息 debug,看到更详细的运行日志

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值