版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。<br>什么是AOP:AOP是能够让我们在不影响原有功能的前提下,为软件横向扩展功能, 那么横向扩展怎么理解呢,我们在WEB项目开发中,通常都遵守三层原则,包括控制层(Controller)->业务层(Service)->数据层(dao),那么从这个结构下来的为纵向,它具体的某一层就是我们所说的横向。我们的AOP就是可以作用于这某一个横向模块当中的所有方法。<br>*AOP涉及到的知识点:<br>切面:拦截器类,其中会定义切点以及通知<br>切点:具体拦截的某个业务点。<br>通知:切面当中的方法,<br>声明通知方法在目标业务层的执行位置,通知类型如下:<br>前置通知:@Before 在目标业务方法执行之前执行 后置通知:@After 在目标业务方法执行之后执行 返回通知:@AfterReturning 在目标业务方法返回结果之后执行 异常通知:@AfterThrowing 在目标业务方法抛出异常之后 环绕通知:@Around 功能强大,可代替以上四种通知,还可以控制目标业务方法是否执行以及何时执行<br><h2>实现原理:</h2><br>实现方法主要分为两大类**:一是采用动态代理技术,利用截取消息的方式,对该消息进行装饰࿰<br><img><br><img><br><img><br><img><br><img><br><img><br><img><br><img><br><img><br>收藏<br><img><br>一键三连<br><img><br>扫一扫,分享海报<br>专栏目录<br><img><br>04-28<br><img>6万+<br>AOP联盟标准