当前位置: 首页 > news >正文

协会网站建站建筑网络计划图中tp是什么意思

协会网站建站,建筑网络计划图中tp是什么意思,长沙招聘网最新招聘信息,大连2021建设网一、原理 AOP#xff08;Aspect Oriented Programming#xff09;的意思是#xff1a;面向切面编程#xff0c;通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。利用AOP可对业务逻辑进行增强#xff0c;在不改变原有逻辑的基础上#xff0c;在其前后进…一、原理 AOPAspect Oriented Programming的意思是面向切面编程通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。利用AOP可对业务逻辑进行增强在不改变原有逻辑的基础上在其前后进行处理。降低了耦合性减少了大量冗余的操作。特别适合用于大量方法都需要进行相同处理的操作。 二、概念 aop可以通过预编译方式和运行期动态代理实现在不修改源代码的情况下给程序动态统一添加某种特定功能的一种技术。 这么看上去我们的程序就像个洋葱一样是一瓣一瓣的我们的业务代码在中间aop实现的增强方法会在我们打的业务方法执行前或者是执行后执行。 我们需要了解的 1、切面Aspect一般是指被Aspect修饰的类代表着某一具体功能的AOP逻辑。 2、切入点Pointcut选择对哪些方法进行增强。 3、通知Advice对目标方法的增强有一下五种增强的类型。 4、环绕通知Around内部执行方法可自定义在方法执行的前后操作。 5、前置通知Before在方法执行前执行。 6、后置通知After在方法执行后执行。 7、返回通知AfterReturning在方法返回后执行。 8、异常通知AfterThrowing在方法抛出异常后执行。 9、连接点JoinPoint就是那些被切入点选中的方法。这些方法会被增强处理。 对于不同的方法使其生效的匹配方式也有很多 表达式类型    功能execution() 匹配方法最全的一个args()  匹配入参类型args()匹配入参类型上的注解annotation() 匹配方法上的注解within()匹配类路径within() 匹配类上的注解this()匹配类路径实际上AOP代理的类target()匹配类路径目标类target()匹配类上的注解 三、实现 在这里我们使用annotation注解的方式实现切入 1、添加依赖 dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-aop/artifactId/dependency 2、创建一个用于切入的注解 ElementType.TYPE   声明这个注解可以在类上使用 ElementType.METHOD  声明这个注解可以在方法上使用 Target({ElementType.TYPE,ElementType.METHOD}) Retention(RetentionPolicy.RUNTIME) public interface Aop { } 3、编写切面类 a.通过Aspect告诉spring容器这是一个切面类同时使用Component注解将其声明成spring容器的组件 b.创建一个成员方法不用有具体的实现在上面添加上Pointcat注解声明这是个切入点方法在这里我们就可以选择不同的匹配方式我们这里使用的是Aop注解的方式 c.实现具体的增强方法通过After、Before...并且在其中引入切入点方法 Aspect Component public class ScheduledAop {Pointcut(annotation(com.zxc.scheduled.annotation.Aop))public void authcat(){}After(authcat())public void print(JoinPoint joinPoint){System.out.println(catprint running);}Before(authcat())public void before(JoinPoint joinPoint){String name joinPoint.getSignature().getName();System.out.println(name);}Around(authcat())public void around(ProceedingJoinPoint joinPoint) throws Throwable {System.out.println(开始执行);Object proceed joinPoint.proceed();System.out.println(执行结束);}AfterThrowing(value authcat(),throwing e)public void execption(JoinPoint joinPoint,Exception e){System.out.println(joinPoint.getSignature().getName() .exception: e.getMessage());}AfterReturning(authcat())public void afterReturn(JoinPoint joinPoint){System.out.println(joinPoint.getSignature().getName() 执行结束);} }4、使用aop 在具体的业务方法上添加上我们自定义的Aop注解告诉aop从这里切入这里我们自己抛出了个异常用来测试AfterException,异常的前置通知 Component public class MySchduled {private int count 0;AopScheduled(cron 0/3 * * * * ? )public void print(){System.out.println(hello: count);if(count 3){throw new RuntimeException(hello);}} } 5、开启aop 我们需要在启动类或者配置类上添加EnableAspectJAutoProxy开启aop SpringBootApplication EnableAspectJAutoProxy public class AuthApplication {public static void main(String[] args) {SpringApplication.run(AuthApplication.class,args);} } 四、aop的应用场景 记录日志。通过在方法调用前后插入切面逻辑可以方便地实现日志记录功能例如在方法调用前记录方法名和参数以及在方法调用后记录方法的返回值。监控方法运行时间监控性能。AOP可以用于监控方法的运行时间从而找出性能瓶颈提高系统的性能。权限控制。通过在方法调用前插入切面逻辑可以实现安全性检查功能例如检查用户的权限只允许有特定权限的用户访问某些方法。缓存优化。AOP可以用于实现缓存管理功能例如在方法调用前检查缓存中是否存在结果在方法调用后将结果存入缓存以提高系统的性能避免重复计算。事务管理。AOP可以用于实现事务管理功能例如在方法调用前开启事务在方法调用后提交事务或回滚事务简化事务管理的代码提高代码的可读性和可维护性。异常处理。AOP可以用于实现异常处理功能例如在方法调用后捕获异常并进行处理统一处理异常避免在每个方法中都进行异常处理的重复代码。性能统计和计数。AOP可以用于统计方法的执行时间、调用次数等信息帮助定位系统瓶颈和优化点。
http://www.pierceye.com/news/59473/

相关文章:

  • 滁州网站建设梦天堂月子会所网站源码
  • 注册网站需要什么手续网站开发设计图psd
  • 做网站用的主机多少合适江苏10大网站建设公司
  • 深圳建立网站的公司中建建设银行网站
  • 做外贸的网站要多少钱网站提速
  • 科技 网站建设网站icp备案信息如何查询
  • 河间米各庄网站建设制作网站建设后台怎么修改
  • 个人网站可以做自媒体吗黄岛开发区做网站网络公司
  • 无障碍浏览网站怎么做大气个人网站源码
  • 网站开发与制作工资wordpress网站阿里云备案号
  • 惠阳网站建设软件app免费下载
  • 外贸商城 网站建设wordpress用户互通
  • 湖南建设部网站微信小程序定制公司
  • cms管理手机网站做外包的网站有哪些问题
  • 如何替别人建网站挣钱html怎么做网页动态背景
  • wap网站还有能打开的吗新增病例最新消息
  • 做那种网站受欢迎江苏城乡建设网站
  • 大连开发区做网站wordpress 图片显示插件下载
  • 凌源市建设局网站惠州手工活外发加工网
  • 做网编去网站还是工作室好seo是什么服
  • 别人给公司做的网站字体侵权无锡论坛网本地网站
  • 建一个购物网站需要多少钱空间破解网站
  • 网站建设公司 信科便宜做网站的公司都有哪些业务
  • 网站怎么制作成二维码东莞找工作最新招聘信息
  • 建网站要会什么美术学院网站建设
  • 旅游网站的设计与制作html企业网站建设要
  • 网站建设后台管理流程wordpress 2.7.1下载
  • 临清建设局网站展厅装修设计公司有
  • 南京网站建设企业网站搭建中企动力第一
  • 国内高端品牌网站建设北京市建网站