三天掌握Spring系列第二讲 AOP 方法增强就是这么简单
本章讲Spring中的第二个核心AOP,学完这俩个基本思想相信你会有一个新的认识,并不会觉得它很难,反而很容易。
6、AOP概述
6.1、什么是AOP?
AOP:全称是 Aspect Oriented Programming 即:面向切面编程。
就是说,切掉重复的,在需要使用的时候,使用动态代理的技术,使用同一份代码对需使用的方法进行增加,并且不需要修改原有代码。很酷,对不对
6.2、AOP的作用与优势
作用:
-
在程序运行期间,不修改源码对已有方法进行增强。
优势:
-
减少重复代码
-
提高开发效率
-
维护方便
6.3、AOP的实现方式
使用动态代理技术
7、AOP的具体应用
7.1、案例问题
在实现用户的 CRUD 中,其实是存在问题的,问题就是:
事务被自动控制了。换言之,我们使用了 connection 对象的 setAutoCommit(true)
此方式控制事务,如果我们每次都执行一条 sql 语句,没有问题,但是如果业务方法一次要执行多条 sql 语句,这种方式就无法实现功能了。
请看下面的示例:我们在业务层中多加入一个方法。
业务层接口
void transfer(String sourceName,String targetName,Float money);
业务层实现类
@Override
public void transfer(String sourceName, String targetName, Float money) {
//根据名称查询两个账户信息
User source = userDao.findByName(sourceName)