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

杭州旺道企业服务有限公司华龙seo排名优化培训

杭州旺道企业服务有限公司,华龙seo排名优化培训,商城小程序方案,怎么添加网站白名单目录 介绍 1.1 什么是AOP 1.2 AOP体系与概念 AOP简单实现 2.1 新建一个SpringBoot项目#xff0c;无需选择依赖 2.2 设置好本地Maven配置后#xff0c;在pom.xml文件里添加添加maven依赖 2.3 创建一个业务类接口 2.4 在实体类实现接口业务 2.5 在单元测试运行结果 …目录 介绍 1.1 什么是AOP 1.2 AOP体系与概念 AOP简单实现 2.1 新建一个SpringBoot项目无需选择依赖 2.2 设置好本地Maven配置后在pom.xml文件里添加添加maven依赖 2.3 创建一个业务类接口 2.4 在实体类实现接口业务  2.5 在单元测试运行结果 2.6 创建切面类 2.7 再次运行测试 总结 介绍 1.1 什么是AOP AOPAspect Oriented Programming面向切面思想是Spring的三大核心思想之一两外两个IOC-控制反转、DI-依赖注入。 那么AOP为何那么重要呢 在我们的程序中经常存在一些系统性的需求比如权限校验、日志记录、统计等这些代码会散落穿插在各个业务逻辑中例如下面这个示意图 有多少业务操作就要写多少重复的校验和日志记录代码这显然是无法接受的。当然用面向对象的思想我们可以把这些重复的代码抽离出来写成公共方法就是下面这样 这样代码冗余和可维护性的问题得到了解决但每个业务方法中依然要依次手动调用这些公共方法也是略显繁琐。有没有更好的方式呢有的为了解决这个问题面向切面编程AOP应运而生。AOP将权限校验、日志记录等非业务代码完全提取出来与业务代码分离并寻找节点切入业务代码中 AOP通过预编译方式和运行动态代理实现程序功能的统一维护AOP是OOP的延续是软件开发中的一个热点也是Spring框架中的一个重要内容是函数式编程的一种衍生泛型。利用AOP可以对业务逻辑的各部分进行隔离是开发人员在编写业务逻辑时专注核心业务从而降低业务逻辑各模块之间的耦合度提高代码重用和开发效率。   AOP使用横向抽取机制取代纵向集成体系的重复代码建设。使用Aspect使业务逻辑只关注业务本身将日志管理、事务处理、性能统计、异常处理、权限控制等代码从业务逻辑代码中抽离从而实现改变这些行为的时候不影响业务逻辑代码。 1.2 AOP体系与概念 Spring AOP和AspectJ 目前流行的AOP框架分别为Spring AOP和AspectJ。 AOP相关术语 简单地去理解其实AOP要做三类事 在哪里切入也就是权限校验等非业务操作在哪些业务代码中执行。 在什么时候切入是业务代码执行前还是执行后。 切入后做什么事比如做权限校验、日志记录等。 因此AOP的体系可以梳理为下图 AOP简单实现 下面我们通过一个简单的案例来演示一下AOP的初级应用 2.1 新建一个SpringBoot项目无需选择依赖 2.2 设置好本地Maven配置后在pom.xml文件里添加添加maven依赖 dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-aop/artifactId /dependency 2.3 创建一个业务类接口 如图建立对应的软件包和接口并在接口创建方法 2.4 在实体类实现接口业务  注意一定要添加Service注解  2.5 在单元测试运行结果 2.6 创建切面类 import org.aspectj.lang.JoinPoint; import org.aspectj.lang.annotation.Aspect; import org.aspectj.lang.annotation.Before; import org.springframework.stereotype.Component;import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.StringJoiner;Component Aspect public class LogAspect {Before(execution(* com.example.aopdemo.service..*.*(..)))public void sysLog(JoinPoint jp){StringJoiner log new StringJoiner(|,{,});DateTimeFormatter formatter DateTimeFormatter.ofPattern(yyy-MM-dd HH:mm:ss);log.add(formatter.format(LocalDateTime.now()));//当前执行的业务方法名称String methodName jp.getSignature().getName();log.add(methodName);//方法的参数Object[] args jp.getArgs();for(Object arg:args){log.add(arg null ? - : arg.toString() );}System.out.println(AOP日志启动 log);}2.7 再次运行测试 再次运行就发发现我们的日志已经添加进去了并且没有对原代码进行改变这就是AOP的丝滑之处。 总结 AOP使用横向抽取机制取代纵向集成体系的重复代码建设。使用Aspect使业务逻辑只关注业务本身将日志管理、事务处理、性能统计、异常处理、权限控制等代码从业务逻辑代码中抽离从而实现改变这些行为的时候不影响业务逻辑代码。实乃开发必备之神器也本文到此就结束了希望大家可以有所收获~
http://www.zqtcl.cn/news/15347/

相关文章:

  • 怎么给网站加图标纵横天下营销型网站建设
  • 网页设计中优秀的网站平面设计教程网站有哪些
  • 木方东莞网站建设技术支持找广告商的平台
  • 即墨网站建设在哪网站建设公司海南
  • 企业网站建设方案教程好姑娘在线观看完整视频高清
  • 网站建设是怎么挣钱手机网站价格
  • 网站图标怎么下载张家港网站建设培训学校
  • 网站是由什么组成的南昌网站建设制作与维护
  • 企梦云网站建设开发板是单片机吗
  • 网站建设后端技术电脑显示无法运行wordpress
  • 高清设计网站推荐安居客房产官方网站
  • 门户网站建设投资秦皇岛网站推广报价
  • 360怎么做网站排名wordpress替换google字体
  • 建e网站官网案例延安网站建设公司
  • 富阳网站手机商城手机网站建设多少钱
  • 宁波做网站费用武进网站制作公司
  • 太空为什么要建站汕头制作网站推荐
  • 合肥瑶海区网站建设费用兰州官网seo诊断
  • 手机网站拒绝访问怎么解决深圳营销型网站建设多少钱
  • 上海人才网最新招聘信息官方网站杭州 做网站
  • 如何登录ftp网站什么可以用手机做网站
  • 龙岩市城乡建设局网站进不去北京高端网站建设服务
  • 优秀flash网站欣赏全国企业注册官方网
  • 免费wap网站建设办营业执照要多少钱
  • 桓台建设局网站网站续费查询
  • 网站标题在哪里修改公司网站在哪备案
  • 网站开发流程电话免费空间访问
  • 珠海新盈科技网站建设红色为主的网站
  • 云南网站建设公司有官网建手机网站吗
  • 钢笔工具网站旅游后台网站