spring aop实例讲解,spring-aop
00-1010什么是Spring AOP,为什么要用AOP?Spring AOP导入依赖定义切面和切点定义通知通知的AOP实现的组成(class 5)
目录
AOP是面向方面的编程。OOP是面向对象的编程,AOP是一种思想,它以统一的方式对待程序中的某一类功能。比如用户登录权限的验证,在学习AOP之前,AOP就可以自动帮我们对所有需要判断的页面进行用户登录的验证,这样就不用再在每一个方法中编写相同的用户登录的验证了。Spring AOP是一个提供AOP思想实现的框架。他们的关系类似于IoC和DI。可以用AOP来隔离各个业务,从而降低业务逻辑之间的耦合,提高程序的复用性,提高开发效率。
00-1010之前处理用户登录的状态验证,每个控制器要写一次用户登录。但是当你的函数越来越多的时候,你就要写越来越多的登录验证,这些方法都是一样的。对于这类功能统一,使用场所较多的功能,可以考虑AOP统一处理。除了统一的用户登录判断,AOP还可以实现统一的登录和统一的方法执行。
什么是Spring AOP
截面方面:截面方面由切点和通知组成,针对某个函数(相当于一个类)的具体定义。某个功能可以是登录验证功能(一个AOP和一个数据库)或登录功能,一个功能对应一个sectional方面。Tangent: Tangent是节中的一个方法,用户登录验证方法是一个Tangent。连接点:调用这些切入点(方法)的页面就是连接点通知:切入点是一个空方法,通知是具体实现这个方法的方法体,相当于切入点。包括预通知、后通知、返回后通知、异常后通知以及周围通知。
00-1010添加Spring AOP框架以支持定义切面和切点定义通知
为什么要用AOP?
依赖关系groupIdorg.springframework.boot/groupId artifactId spring-boot-starter-AOP/artifactId/dependency
00-1010类注释:@Aspect,@Component方法注释:@Pointcut@Component@Aspect //定义节公共类用户方面{ @ Pointcut( execution(* com . example . demo . controller . user controller . *(.)))public void切入点(){}。
00-1010通知描述了拦截执行的时机以及实现通知编写的具体方法围绕,可以记录接口执行的时间@Component@Aspect //定义Aspect公共类user Aspect { @ pointcut( execution(* com . example . demo . controller . user controller . *(.)))Public void pointcut(){} //提前通知(带括号)@ before( pointcut())Public void do before(){//业务代码system . out . println();System.out.println(已执行预通知);system . out . println();}} @Around(pointcut())公共对象DOA round(ProceedingJoinPoint join point){ Object result=null;//执行前置服务代码System.out.println(执行环绕通知的前置方法);Try {//Execute(截获)业务方法result=join point . proceed();} catch(Throwable Throwable){ Throwable . printstacktrace();}//执行后业务代码System.out.println(执行环绕通知的后方法);返回结果;}这是这篇关于Spring对AOP的详细解释的文章的结尾。关于Spring AOP的更多信息,请搜索以前关于流行IT的文章或者继续浏览下面的相关文章。我希望你以后能更多地支持流行音乐!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。