AOP思想与开发

本文介绍了AOP思想从OOP的演进,详细阐述了AOP中的关键术语如连接点、切入点、增强和切面,讲解了Pointcut语法,并探讨了JDK动态代理和CGLIB动态代理在AOP开发中的应用。此外,还提到了不同增强时机的配置以及通过注解进行AOP配置的方法。
摘要由CSDN通过智能技术生成

   AOP思想

1.从OOP到AOP

在开发中,为了给业务方法增加日志记录、权限检查、事务控制等功能,此时我们需要去修改业务方法代码,考虑到代码的复用性。

我们可以考虑使用OOP的继承和组合来消除重复,但是无论怎么样,我们都会在业务方法中纵向地增加这些功能方法的调用代码。

此时,既不遵循开闭原则,也为后期系统的维护带来很大的麻烦

这些零散存在于业务方法中的功能代码,我们称之为横切面关注点,横切面关注点不属于业务范围,应该从业务代码中剥离出来。

为了解决该问题,OOP思想肯定是不行了,要使用AOP思想。

AOP  (Aspect Oritention Programming)--把一个个的横切关注点放到某个模块中去,称之为切面。那么每一个的切面都能影响业务的某一种功能,切面的目的就是功能增强,如日志切面就是一个横切关注点,应用中许多方法需要日志记录的只需要插入日志的切面即可。

这种面向切面编程的思想就是AOP思想了。

2.AOP术语

Joinpoint:连接点,被拦截到需要被增强的方法。where:去哪里做增强

Pointcut:切入点,哪些包中的哪些类中的哪些方法,可认为是连接点的集合。where:去哪些地方做增强

Advice:增强,当拦截到Joinpoint之后,在方法执行的什么时机(when)做什么样(what)的增强。根据时机分为:前置增强、后置增强、异常增强、最终增强、环绕增强</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值