AOP面向方面编程,主要用于处理相同类型的问题,将它们看做一个方面来处理,使得问题变得简单,易于维护
下面以一个简单的权限验证做为例子讲解
1.UserServer(接口,提供了常用的数据操作方法)
2.UserServerImpl(接口的实现)
3.SecurtyHandler(检查的方法,即AOP要关注的关注点)
4.Client(客户端的调用)
5.applicationContext.xml(配置文件,Spring的主要文件)
此程序的大意为:当用户调用任何以del开头,参数类型为任意类型,com.feng.aop.UserServerImpl包下的,方法返回值为任意类型的方法时(即一个连接点),都会调用通知,并调用通知的check()方法,检查用户是否有足够的权限,以此类推……
AOP的几个重要单词的理解:
连接点:方法的调用,如addUser()
切点:一系恋连连接点的集合,即许多以add开头的方法
通知:类似拦截器,调用相应的方法来处理
方面:一些相同功能的切点的模块化,即许多切点的集合,如add,del,query等开头的方法