学习spring(4)AOP使用场景
文章目录 AOP是干嘛的 案例中的问题(了解) 问题1 解决1----问题2 解决2----问题3 使用动态代理技术 JDK 官方的 Proxy 类 第三方的 CGLib (略,和上个差不多) AOP是干嘛的 (aspect oriented programming面向切面编程) 简单来说它就是把我们的程序重复代码抽取出来,在需要执行的时候,使用动态代理技术,在不修改源码的基础上,对已有的方法增强 作用 :程序运行期间,不修改源码,对已有的方法进行增强 优势 :减少重复代码,提高开发效率,维护方便 实现 :动态代理技术 案例中的问题(了解) 问题1 用一般的方法控制事务,如果我们每次都执行一条 sql 语句,没有问题,但是如果业务方法一次要执行多条 sql语句,这种方式就无法实现功能了。 解决1----问题2 当我们执行时,由于执行有异常( int i=1/0 ),转账失败。但是因为我们是每次执行持久层方法都是独立事务,导致无法实现事务控制(不符合事务的一致性) //业务层实现类的转账方法: public void transfer ( String sourceName , String targetName , Float money ) { //根据名称查询两个账户信息 Account source = accountDao . findByName ( sourceName