AOP
Spring AOP 定位

这部分很重要,以后说

这里可以搜教程,右侧可以download下来案例


什么是AOP
与OOP相比,面向切面,传统的OOP开发中的代码是自上而下的,而这些过程会产生一些横切性问题,这些横切性问题和我们的主业务逻辑关系不大,这些横切性问题不会影响到主逻辑实现,但是会散落到代码的各个部分,难以维护。AOP是处理一些横切性问题,AOP的编程思想就是把这些问题和主业务逻辑分开,达到与主业务逻辑解耦的目的,使代码的重用性和开发效率更高。
AOP是编程需要实现的目标,Spring AOP 是实现的手段,还有AspectJ等实现,Spring AOP是动态,AspectJ是静态
AOP解决问题
controller log日志记录
service power权限
controller tx事务
异常处理,效率检查等横切性问题都是AOP解决的问题,关注执行时机,顺序
AOP思想

Aspect:切面,使下面知识点的总和
Join point:连接点
Pointcut:连接点的集合,有多个Pointcut
Introduction:(新知识点)
Target:代理增强之前的那个对象
advice:声明

spring提供AspectJ的支持,spring没有借用AspectJ的jar,spring参考了AspectJ的语法风格,


现在AspectJ的jar包需要单独引入
网友评论