您的位置:首页 > 教育 > 锐评 > 建筑公司企业所得税_推广的主要目的是什么_沈阳专业seo_怎样宣传自己的产品

建筑公司企业所得税_推广的主要目的是什么_沈阳专业seo_怎样宣传自己的产品

2025/2/24 17:20:37 来源:https://blog.csdn.net/yun_shui_/article/details/144483779  浏览:    关键词:建筑公司企业所得税_推广的主要目的是什么_沈阳专业seo_怎样宣传自己的产品
建筑公司企业所得税_推广的主要目的是什么_沈阳专业seo_怎样宣传自己的产品

1.AOP概述

1.1什么是AOP

1.2为什么需要AOP

首先先说下AOP优点:

  • AOP英文全称:Aspect Oriented Programming(面向切面编程、面向方面编程),其实说白了,面向切面编程就是面向特定方法编程。

AOP的优势:

  • 减少重复代码

  • 提高开发效率

  • 维护方便

 通过一个案例来引入AOP的使用的情况之一。比如我们这里有一个项目,项目中有许多业务功能,我们想要同级每一个业务功能所耗时间的多少。那么对于传统的做法,我们是在业务开始的时候获取当前时间,在业务结束的时候再次获取当前时间。最后两个时间差就是我们业务所运行的时间。

 可是这样的做法,可想而知,是很繁琐的并且不方便维护,如果我不需要得到这个的时间我还需要手动删去代码,而且有新的业务的话,还要再次加上去代码。

1.3AOP是怎么运用的呢?


其实我们可以看到,对于想要获取业务运行时间,其实可以分为三个部分

1.获取开始的时间

2.业务运行

3.获取结束时间,计算耗时

其实对于这个功能来说,只有第2步是需要根据不同的业务来进行更换的,那我们第一个想到的就应该是模块化编程。只要我能找到第二点中的不同业务,让他们运行既可以了。所以就是要找到一个可以引入方法的 途径。

 

 2.AOP快速入门

2.1实现步骤

1.导入依赖:在pom.xml中导入AOP的依赖

2.编写AOP程序

2.1.1pom.xml

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-aop</artifactId>
</dependency>

 

2.1.2AOP程序

注意:需要像Controller层一样,放在这个地方进行类的编写

 

 2.2 功能查看

通过入门程序,我们也应该感受到了AOP面向切面编程的一些优势:

  • 代码无侵入:没有修改原始的业务方法,就已经对原始的业务方法进行了功能的增强或者是功能的改变

  • 减少了重复代码

  • 提高开发效率

  • 维护方便

 

3 AOP核心概念

通过SpringAOP的快速入门,感受了一下AOP面向切面编程的开发方式。下面我们再来学习AOP当中涉及到的一些核心概念。

1. 连接点:JoinPoint

可以被AOP控制的方法(暗含方法执行时的相关信息)

连接点指的是可以被aop控制的方法。例如:入门程序当中所有的业务方法都是可以被aop控制的方法。

在SpringAOP提供的JoinPoint当中,封装了连接点方法在执行时的相关信息。(后面会有具体的讲解)

2. 通知:Advice

指哪些重复的逻辑,也就是共性功能(最终体现为一个方法)

在入门程序中是需要统计各个业务方法的执行耗时的,此时我们就需要在这些业务方法运行开始之前,先记录这个方法运行的开始时间,在每一个业务方法运行结束的时候,再来记录这个方法运行的结束时间。

但是在AOP面向切面编程当中,我们只需要将这部分重复的代码逻辑抽取出来单独定义。抽取出来的这一部分重复的逻辑,也就是共性的功能。

3. 切入点:PointCut

匹配连接点的条件,通知仅会在切入点方法执行时被应用

在通知当中,我们所定义的共性功能到底要应用在哪些方法上?此时就涉及到了切入点pointcut概念。切入点指的是匹配连接点的条件。通知仅会在切入点方法运行时才会被应用。

在aop的开发当中,我们通常会通过一个切入点表达式来描述切入点(后面会有详解)。

假如:切入点表达式改为DeptServiceImpl.list(),此时就代表仅仅只有list这一个方法是切入点。只有list()方法在运行的时候才会应用通知。

4. 切面:Aspect

描述通知与切入点的对应关系(通知+切入点)

当通知和切入点结合在一起,就形成了一个切面。通过切面就能够描述当前aop程序需要针对于哪个原始方法,在什么时候执行什么样的操作。

切面所在的类,我们一般称为切面类(被@Aspect注解标识的类)

5. 目标对象:Target

通知所应用的对象

目标对象指的就是通知所应用的对象,我们就称之为目标对象。

AOP的核心概念我们介绍完毕之后,接下来我们再来分析一下我们所定义的通知是如何与目标对象结合在一起,对目标对象当中的方法进行功能增强的。

Spring的AOP底层是基于动态代理技术来实现的,也就是说在程序运行的时候,会自动的基于动态代理技术为目标对象生成一个对应的代理对象。在代理对象当中就会对目标对象当中的原始方法进行功能的增强。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com