前置通知:把不同类中公有的方法提取出来作为一个类,形成一个切面。在需要调用的方法前可以织入其他行为,这个提取出来的类可以选择性的实现接口MethodBeforeAdvice,实现这个接口的方法:
public void before(Method method , Object[] object , Object target){}
***method表示调用的方法名,object表示该方法的参数,调用该方法的对象
然后需要在spring的xml文件中进行配置
1. 被代理的对象(普通bean的配置)
2. 前置通知(如果无属性,配置id及其class即可)
3. 代理对象(较为复杂)
// 配置代理对象
<bean id="任意" class="org.springframework.aop.framework.ProxyFactoryBean">
<property name="proxyInterface">
<list>
<value>接口</value>
</list>
</property>
// 把通知织入到代理对象
<property name="interceptorNames">
<!--相当于把前置对象通知和代理对象关联,通知其实也可以理解为拦截器-->
<value>前置通知id</value>
</property>
<!--指定配置的被代理对象,这里可以指定-->
<property name="target">
<value>前面1的普通bean配置的id</value>
</property>
</bean>