AOP 的实现方式和基本概念
1 什么是AOP
翻译为 面向切面编程;通过预编译的方式和
运行期动态代理的方式
来实现程序功能的统一维护的技术
注意的功能,日志记录,性能统计,事务处理,异常处理;
比如事务处理;我们希望任何数据库的操作方法,比如 insert,update需要做事务处理
我们不希望每个方法都手动的开启事务处理,连接,提交事务,关闭连接这样开发的成本很大;
我们希望某种开发方法是透明的;我们需要执行到某种方法或者某类方法或者某一个层的类时候,
比如说 service 类方法时候就自动开启事务处理,这就是
实现统一维护的技术。
切面是与功能垂直的;
比如 产品管理,订单管理子模块,都需要记录它的日志;如果每个某块中都会写这日志;这样工作量比较打;
系统到达一定规模后,当我们需要改日志的格式记录方式,需要改每个模块的记录方式,改动量比较打
如果通过切面方式;任何一个子模块都会记录日志;只有一处写了这个功能,一个实现,通过预编译的或者
动态代理的方式放到子模块那执行这个功能。这样对我们开发者来说很方便;