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

常用网站建设软件二手手机回收网站开发

常用网站建设软件,二手手机回收网站开发,东道设计作品,建网站教程2.1 AOP概述 什么是AOP#xff1f; AOP英文全称#xff1a;Aspect Oriented Programming#xff08;面向切面编程、面向方面编程#xff09;#xff0c;其实说白了#xff0c;面向切面编程就是面向特定方法编程。 那什么又是面向方法编程呢#xff0c;为什么又需要面向…2.1 AOP概述 什么是AOP AOP英文全称Aspect Oriented Programming面向切面编程、面向方面编程其实说白了面向切面编程就是面向特定方法编程。 那什么又是面向方法编程呢为什么又需要面向方法编程呢来我们举个例子做一个说明 比如我们这里有一个项目项目中开发了很多的业务功能。 然而有一些业务功能执行效率比较低执行耗时较长我们需要针对于这些业务方法进行优化。 那首先第一步就需要定位出执行耗时比较长的业务方法再针对于业务方法再来进行优化。 此时我们就需要统计当前这个项目当中每一个业务方法的执行耗时。那么统计每一个业务方法的执行耗时该怎么实现 可能多数人首先想到的就是在每一个业务方法运行之前记录这个方法运行的开始时间。在这个方法运行完毕之后再来记录这个方法运行的结束时间。拿结束时间减去开始时间不就是这个方法的执行耗时吗 以上分析的实现方式是可以解决需求问题的。但是对于一个项目来讲里面会包含很多的业务模块每个业务模块又包含很多增删改查的方法如果我们要在每一个模块下的业务方法中添加记录开始时间、结束时间、计算执行耗时的代码就会让程序员的工作变得非常繁琐。 而AOP面向方法编程就可以做到在不改动这些原始方法的基础上针对特定的方法进行功能的增强。 AOP的作用在程序运行期间在不修改源代码的基础上对已有方法进行增强无侵入性: 解耦 我们要想完成统计各个业务方法执行耗时的需求我们只需要定义一个模板方法将记录方法执行耗时这一部分公共的逻辑代码定义在模板方法当中在这个方法开始运行之前来记录这个方法运行的开始时间在方法结束运行的时候再来记录方法运行的结束时间中间就来运行原始的业务方法。 而中间运行的原始业务方法可能是其中的一个业务方法比如我们只想通过 部门管理的 list 方法的执行耗时那就只有这一个方法是原始业务方法。 而如果我们是先想统计所有部门管理的业务方法执行耗时那此时所有的部门管理的业务方法都是 原始业务方法。 那面向这样的指定的一个或多个方法进行编程我们就称之为 面向切面编程。 那此时当我们再调用部门管理的 list 业务方法时啊并不会直接执行 list 方法的逻辑而是会执行我们所定义的 模板方法 然后再模板方法中 记录方法运行开始时间 运行原始的业务方法那此时原始的业务方法就是 list 方法 记录方法运行结束时间计算方法执行耗时 不论我们运行的是那个业务方法最后其实运行的就是我们定义的模板方法而在模板方法中就完成了原始方法执行耗时的统计操作 。(那这样呢我们就通过一个模板方法就完成了指定的一个或多个业务方法执行耗时的统计) 而大家会发现这个流程我们是不是似曾相识啊 对了就是和我们之前所学习的动态代理技术是非常类似的。 我们所说的模板方法其实就是代理对象中所定义的方法那代理对象中的方法以及根据对应的业务需要 完成了对应的业务功能当运行原始业务方法时就会运行代理对象中的方法从而实现统计业务方法执行耗时的操作。 其实AOP面向切面编程和OOP面向对象编程一样它们都仅仅是一种编程思想而动态代理技术是这种思想最主流的实现方式。而Spring的AOP是Spring框架的高级技术旨在管理bean对象的过程中底层使用动态代理机制对特定的方法进行编程(功能增强)。 AOP的优势 减少重复代码 提高开发效率 维护方便 2.2 AOP快速入门 在了解了什么是AOP后我们下面通过一个快速入门程序体验下AOP的开发并掌握Spring中AOP的开发步骤。 需求统计各个业务层方法执行耗时。 实现步骤 导入依赖在pom.xml中导入AOP的依赖 编写AOP程序针对于特定方法根据业务需要进行编程 为演示方便可以自建新项目或导入提供的springboot-aop-quickstart项目工程 pom.xml dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-aop/artifactId /dependency AOP程序TimeAspect Component Aspect //当前类为切面类 Slf4j public class TimeAspect { ​Around(execution(* com.itheima.service.*.*(..))) public Object recordTime(ProceedingJoinPoint pjp) throws Throwable {//记录方法执行开始时间long begin System.currentTimeMillis(); ​//执行原始方法Object result pjp.proceed(); ​//记录方法执行结束时间long end System.currentTimeMillis(); ​//计算方法执行耗时log.info(pjp.getSignature()执行耗时: {}毫秒,end-begin); ​return result;} } 重新启动SpringBoot服务测试程序 查询3号部门信息 我们可以再测试下查询所有部门信息同样执行AOP程序 我们通过AOP入门程序完成了业务方法执行耗时的统计那其实AOP的功能远不止于此常见的应用场景如下 记录系统的操作日志 权限控制 事务管理我们前面所讲解的Spring事务管理底层其实也是通过AOP来实现的只要添加Transactional注解之后AOP程序自动会在原始方法运行前先来开启事务在原始方法运行完毕之后提交或回滚事务 这些都是AOP应用的典型场景。 通过入门程序我们也应该感受到了AOP面向切面编程的一些优势 代码无侵入没有修改原始的业务方法就已经对原始的业务方法进行了功能的增强或者是功能的改变 减少了重复代码 提高开发效率 维护方便
http://www.w-s-a.com/news/300368/

相关文章:

  • 巩义专业网站建设公司首选seo研究院
  • 大流量网站解决访问量友情链接如何添加
  • 教育网站建设网永康市住房和城乡建设局网站
  • 阿里巴巴官网网站django 做网站的代码
  • 网站建设 军报wordpress 订餐模板
  • 网站虚拟主机 会计处理石家庄站建设费用多少
  • 网站建设 服务内容 费用简述网站开发流程
  • 公司制作网站跟企业文化的关系空间制作网站
  • 浙江建设监理协会网站个人网站设计规划书
  • wordpress太卡了贵州seo推广
  • 企业介绍微网站怎么做的手机软件商城免费下载
  • 新手网站设计定价网站开发销售
  • 网站开发公司oa有没有找人做标书的网站
  • 传统门户网站有哪些人武部正规化建设
  • 台州网站制作方案免费无代码开发平台
  • 精通网站建设 pdf微盘学做电商的步骤
  • 想在网上做设计接单有没有网站找一个免费域名的网站
  • 湘潭市网站建设科技有限公司杭州网站建设(推荐乐云践新)
  • 优秀网站评析西双版纳傣族自治州民宿
  • 常用的cms建站系统c2c网站模板
  • wordpress更换图标seo网站建设公司
  • 网站备案 深圳小程序怎么进入公众号
  • 实名认证域名可以做电影网站吗坪山网站设计的公司
  • wdcp怎么上传做好的网站管理咨询公司名称参考
  • 设计师网站pin分销系统小程序开发
  • 高端品牌网站建设兴田德润实惠企业网站建设应该怎么做
  • 做研学的网站优秀软文案例
  • 网站个人简介怎么做建设网站卡盟
  • 影楼做网站安庆建设机械网站
  • 访问网站的原理wix做网站流程