当前位置: 首页 > 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.pierceye.com/news/15347/

相关文章:

  • 网站怎样自己做推广网站建设需要注意的问题
  • 阳江市做网站的公司怎样查看网站开发语言
  • 华强北 网站建设网站服务理念
  • 网站建设深圳亿联时代广州建网站公司排名
  • 成都公司做网站dede多个网站怎么做
  • cms建站方案做网站和编程
  • 禹州网站建设前程无忧网广州网站建设类岗位
  • 做平面设计在那个网站上找图好想兼职做网站推广
  • 凡科做的微网站怎样连接公众号网页设计策划案怎么写
  • 成立网站建设工作领导小组wordpress 如何仿站
  • 佛山高端网站设计国外专门做杂志的共享网站
  • 中国建设银行官网个人登录优化网站广告优化
  • 图书租借网站 开发一句话进入wordpress
  • 做弹幕网站有哪些无锡市建设局网站
  • 花溪建设村镇银行官方网站重庆怎么在网站上做广告
  • 做医疗网站颜色选择泉州pc网站开发
  • 网站在线旅游网站ppt应做的内容
  • 科技网站欣赏网站建设与管理初级教学
  • 网站建设完成后 下一步做什么自建服务器网站备案
  • 搭建平台的重要性南京关键词优化服务
  • 网站目标人群网站设计高端网站制作
  • html5微网站源码公司怎么样做网站
  • 怎样用数据库做网站手机版网站建设开发
  • 数据库跟网站个人网站如何进行网络推广
  • wordpress 建立第二个网站钢铁建设网站
  • 营销型网站建设讨论题天津百度推广代理商
  • 网站分析的优劣势全免费无代码开发平台
  • 做网站的具体步骤wordpress即阅文教程
  • 公益广告 公司网站建设中...大连做网站公司
  • 国外主流网站开发技术《网站建设》期末考试