SpringAOP

java分享会

分享人:北京分院 于博韬

1.背景介绍

2.知识剖析

3.常见问题

4.解决方案

5.编码实战

6.扩展思考

7.参考文献

8.更多讨论

1.背景介绍

我们在任务中会接触到Spring,而Spring最关键的两处就是IOC和AOP

今天我们不看IOC,只讲AOP

那我们在任务中需要使用SpringAOP做什么呢?

任务中的描述是让我们记录日志

那么AOP是不是还能做别的?让我们和AOP深入交流一下

2.知识剖析

什么是AOP?

面向切面编程(Aspect Oriented Programing,AOP)采用横向抽取机制,是面向对象编程(Object Oriented Programing,OOP)的补充和完善。

OOP引入封装、继承、多态等概念来建立一种对象层次结构,OOP允许开发者定义纵向的关系,但并不适合定义横向的关系,例如日志功能、权限管理、异常处理等, 该类功能往往横向地散布在核心代码当中,这种散布在各处的无关代码被称为横切。

AOP恰是一种横切技术,解剖开封装对象的内部,将那些影响了多个类的公共行为封装到一个可重用模块,并将其命名为Aspect(切面), 所谓切面,简单的说就是那些与业务无关, 却为业务模块所共同调用的逻辑或责任封装起来,便于减少系统的重复代码,降低模块间的耦合度,并有利于未来的可操作性和可维护性。

AOP能做什么?

AOP最常用的几种使用便是:声明式事务管理、权限校验和日志记录。本次放弃权限校验,仅介绍事务管理以及日志记录。

3.常见问题

那么问题来了

我们看到AOP是一种技术,那么我们就需要学习如何应用。

SpringAOP该如何使用?

4.解决方案

首先Spring喜欢整合,我们是知道的

整合到Spring中的SpringAOP,我们是需要进行配置的

我们也知道Spring的配置文件是很重要的

那我们就走进SpringAOP的内心世界

5.编码实战

憋说话,用心感受我的操作~

6.扩展思考

SpringAOP的权限管理

大概搜索了一下,大家对于AOP做权限管理的热情并不高,因为有一个比SpringAOP更好用的权限管理方法。

比如我们任务5中需要使用的拦截器Interceptor,还有监听器,过滤器这些,欢迎大家围观相关小课堂,这里不展开

7.参考文献

http://blog.csdn.net/ybt_c_index/article/details/78074729

8.更多讨论

鸣谢

感谢观看,如有出错,恳请指正

BY : 北京分院 于博韬