AOP作用
Authentication 权限
Caching 缓存
Context passing 内容传递
Error handling 错误处理
Lazy loading 懒加载
Debugging 调试
logging, tracing, profiling and monitoring 记录跟踪 优化 校准
Performance optimization 性能优化
Persistence 持久化
Resource pooling 资源池
Synchronization 同步
Transactions 事务
Ø
Spring AOP
(动态):通过代理程序运行时织入
n
优点:简单,易用
n
缺点:性能略低,仅适用于方法调用,必须在
Spring
容器
Ø
Aspect J
(静态):通过修改程序的字节码完成织入
n
优点:性能好,功能强大,无需
Spring
容器
n
缺点:修改需要重新编译,要引入
Aspect J
的编译器/织入器,复杂
优点:IOC是解耦, AOP主要是提供另外一种编程思路,可以把类似的行为抽离出来统一处理。
缺点:IOC引入了spring, 就是引入了spring的执行时容器, 让容器负责你的对象的周期。这样就在执行期依赖了spring。AOP的缺点,如果要说,就是改变了项目的编程思路。