在AOP变成中,有很多概念,这里暂且不先说那些概念,让我们用具体的案例来更好的理解,之后抛出那些难懂的概念。
假如程序有一个接口,有两个类实现了这个接口,里面有sayHello方法,我们想在sayHello方法前写日志传统的方法该怎么做呢?肯定是先用这两个类分别声明对象,然后调用写日志的方法,之后调用sayhello方法,如果实现了这个接口的所有类在调用方法前都要写日志的话我们这么做肯定是不合适的,因为有很多重复的代码完成相同的功能,这样我们就引入了AOP编程,把写日志的方法写成一个类(AOP中叫通知),这里是在方法前实现写日志的功能也就是前置通知,然后在写一个代理对象也实现了上述接口且有sayhello方法,在把通知织入到这个代理对象中,在程序中用接口来声明对象,通过getbean方法获得到。代理对象只需配置即可,在bean中我们需要配置如下几个对象,1.被代理的对象。2.前置通知。3.代理对象。再来整理一下具体的步骤如下:
1. 定义接口
2. 编写对象(被代理对象=目标对象)
3. 编写通知(前置通知目标方法调用前调用)
4. 在beans.xml文件配置
4.1 配置 被代理对象=目标对象
4.2 配置通知
4.3 配置代理对象 是 ProxyFactoryBean的对象实例
4.3.1 <!--代理接口集 -->
4.3.2 织入通知
4.3.3 配置被代理对象
关于其它的通知如后置通知,环绕通知,异常通知,引入通知(自定义连接点)。