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

建设行政管理部门网站镇平县建设局网站

建设行政管理部门网站,镇平县建设局网站,水果网站首页设计,大连手机自适应网站建设服务目录 前言#xff1a; 1.什么是Spring AOP 2.为什么要使用AOP呢#xff1f; 3.AOP的组成 3.1切面 3.2切点 3.3通知 3.4连接点 4.Spring AOP的实现 4.1添加依赖 4.2定义切面 4.3定义切点 4.4实现通知 5.AOP的实现原理 结束语#xff1a; 前言#xff1a; 在…目录 前言 1.什么是Spring AOP 2.为什么要使用AOP呢 3.AOP的组成 3.1切面 3.2切点 3.3通知 3.4连接点 4.Spring AOP的实现 4.1添加依赖 4.2定义切面 4.3定义切点 4.4实现通知 5.AOP的实现原理 结束语 前言 在上一节中小编主要是于大家分享了有关于MyBatis的一些基础知识让大家了解了有关于如何将数据库和我们的程序进行关联那么接下来我们就来一起来学一下有关于AOP的一些知识在Spring中一般提到的就是IoC和AOP那么之前的学习中也给大家介绍了有关于IoC容器的一些基础知识那么接下来小编将会带着大家一起来学习有关于AOP的一些基础知识。这节中小编将主要介绍有关于AOP的组成概念学习Spring AOP的使用以及Spring AOP的实现原理。 1.什么是Spring AOP 在介绍Spring AOP之前首先我们需要了解一下什么是AOP AOPAspect Oriented Programming面向切面编程它是一种思想它是对某一类事情的集中处理。比如用户登录权限的校验没学AOP之前我们所有需要判断用户登录的页面中的方法都要各自实现或调用用户验证的方法然而有了AOP之后我们只需要在某一处配置一下所有需要判断用户登录页面中的方法就全部可以实现用户登录验证了不再需要每个方法中都写相同的用户登录验证了。 那么对于AOP与Spring AOP之间的关系就是AOP是一种思想而Spring AOP是一个框架提供了一种对AOP思想的实现它们的关系和IoC与DI类似。 2.为什么要使用AOP呢 想象⼀个场景我们在做后台系统时除了登录和注册等几个功能不需要做⽤户登录验证之外其他几乎所有⻚⾯调⽤的前端控制器 Controller都需要先验证⽤户登录的状态那这个时候我们要怎么处理呢 我们之前的处理⽅式是每个 Controller 都要写⼀遍⽤户登录验证然⽽当你的功能越来越多那么你要 写的登录验证也越来越多⽽这些⽅法⼜是相同的这么多的⽅法就会代码修改和维护的成本。那有没有简单的处理⽅案呢答案是有的对于这种功能统⼀且使⽤的地⽅较多的功能就可以考虑 AOP 来统⼀处理了。 除了统⼀的⽤户登录判断之外AOP 还可以实现 统⼀⽇志记录 统⼀⽅法执⾏时间统计 统⼀的返回格式设置 统⼀的异常处理 事务的开启和提交等 也就是说使⽤ AOP 可以扩充多个对象的某个能力所以 AOP 可以 说是 OOPObject Oriented Programming⾯向对象编程的补充和完善。 3.AOP的组成 3.1切面 切面Aspect它是定义事件表明AOP是做啥的。比如现在要做一个用户的登录校验。他就像是一个公司的老板一样来定义公司的方向。 3.2切点 切点Pointcut它是用来定义具体规则的。在上面切面明确了要做的是用户的登录校验之后接下来就由切点来定义用户登录拦截规则哪些接口判断用户登录权限。哪些不判断。就像是公司中的中层领导人一样制定一份具体的方案。 3.3通知 通知AdviceAOP执行的具体方法。在前俩个的基础之上方向明确方案已经制定好之后那么接下来就需要实施了获取用户登录的信息如果获取到说明已经登录否则未登录。他就是公司的底层用来负责具体业务的执行。 在Spring切面类中可以在方法上使用以下注解会设置方法为通知方法在满足条件之后会通知本方法进行调用 前置通知使用Before通知方法会在目标方法调用之前执行。后置通知使用After通知方法会在目标方法返回或者抛出异常后调用。返回通知使用AfterReturning通知方法会在目标方法返回后调用。异常通知使用AfterThrowing通知方法会在目标方法抛出异常之后调用。环绕通知使用Around通知包裹了被通通知的方法在被通知的方法之前和调用方法之后执行自定义的行为。 3.4连接点 连接点 Join Point有可能触发切点的所有点。比如说是在登录功能中会触发登录功能的所有接口。 AOP整个组成部分的概念如下图所示 4.Spring AOP的实现 先来定义一个UserController。 package com.example.demo.controller;import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController;RestController RequestMapping(/user) public class UserController {RequestMapping(/getuser)public String getUser() {System.out.println(do getUser);return get user;}RequestMapping(/deluser)public String delUser() {System.out.println(do delUser);return del user;} }4.1添加依赖 在pom.xml中添加如下配置。 dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-aop/artifactId /dependency 4.2定义切面 4.3定义切点 4.4实现通知 当我们输入一下url的时候 就会在控制台中输出前置通知。 当加上后置通知的时候就会如下所示 后置通知的代码 此时在输入url之后的效果就是 那么如果加的是环绕通知的效果呢 环绕通知的代码如下所示 执行结果如下所示 那么如果没有上述的这些拦截的话在实现过程当中就不会执行任何其他操作比如我们现在定义一个ArticleController如下所示 package com.example.demo.controller;import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController;RestController RequestMapping(/art) public class ArticleController {RequestMapping(/getart)public String getArticle(){System.out.println(do getArticle);return getArticle;} }当我们在访问的是后台就只会执行它本身要执行的方法。 5.AOP的实现原理 Spring AOP 是构建在动态代理基础上因此 Spring 对 AOP 的⽀持局限于⽅法级别的拦截。 Spring AOP ⽀持 JDK Proxy 和 CGLIB ⽅式实现动态代理。默认情况下实现了接⼝的类使用 AOP 会基于 JDK ⽣成代理类没有实现接⼝的类会基于 CGLIB ⽣成代理类。 Spring 动态代理的组成 JDK Proxy代理对象必须实现接口才能使用JDK Proxy。CGLIB通过实现代理类的子类来实现动态代理注意被final修饰的类是不能够被代理的。 JDK Proxy 与 CGLIB的区别 出生不同。实现不同JDK Proxy要求代理类实现接口才能实现代理而CGLIB是通过实现代理类的子类来完成动态代理的。性能不同JDK JDK Proxy性能是略高于CGLIBJDK7之前CGLIB性能高于JDK Proxy。 结束语 好了这节小编就给大分享到这里啦希望这节对大家有关于Spring AOP的基础知识的了解有一定帮助想要学习的同学记得关注小编和小编一起学习吧如果文章中有任何错误也欢迎各位大佬及时为小编指点迷津在此小编先谢过各位大佬啦
http://www.pierceye.com/news/952603/

相关文章:

  • 网站百度快照怎么做网站调用谷歌地图
  • 扫描二维码进入公司网站怎样做代做关键词收录排名
  • flash美食网站论文架设一个网站需要多少钱
  • 做教育视频网站用什么平台好wordpress文章 代码块
  • 网站 部署 域名深圳网站建设yuntianxia
  • 做调查的网站推荐移动端网站开发教程
  • 上海品牌网站建设公司排名女生学网络营销这个专业好吗
  • 优质的邵阳网站建设企业邮箱免费登录入口
  • 网站做seo多少钱wordpress点击分类目录空白
  • 黄埔网站建设 信科网络中国企业商铺网
  • 济南快速网站排名网站开发模板系统
  • 厦门市app开发网站建设公司亚马逊雨林在地图上的位置
  • qq空间个人网站网页设计作业个人简历代码怎么写
  • 宁波网站建设团队微信网页制作的软件
  • 社区网站推广方案百度直播推广
  • 上海网站seo诊断吉林网站优化
  • 玉田网站建设做重视频网站
  • 发放淘宝优惠券的网站怎么做网站建设理论依据
  • 信用渭南网站建设做网站实例
  • 南通做百度网站的公司哪家好公司网站建站流程
  • 北京微信网站建设费用知识问答网站开发
  • 网站建设的博客做外国网用哪些网站
  • 网站两侧广告口碑营销的案例及分析
  • 有什么手机网站wordpress 编辑器增加翻译按钮
  • 深圳网站建设企怎样做好公司网站
  • 深圳注册投资公司的条件网络优化推广公司
  • 网站流量统计工具有哪些电子商务网络营销是什么
  • asp+access网站开发实例精讲网站建设开发的主要流程
  • 电子商城开发网站建设做网站推广怎么跟客户沟通
  • 个人网站排名欣赏哪个网站可以做笔译兼职