应用Spring的Aop方法 怎样方便的代理多个类
我看了几个spring aop 的例子,都是一个代理设置 代理一个类,能不能一个代理多个类呢,就是被代理的类执行了相应的方法都要被拦截。
我的具体的配置是这样的:
<bean id="menuController" class="org.foodreg.web.MenuController">
<property name="foodReg"><ref bean="foodReg"/></property>
<property name="viewName"><value>include/office</value></property>
</bean>
<bean id="myPointcutAdvisor" class="org.springframework.aop.support.RegexpMethodPointcutAdvisor">
<property name="advice">
<ref local="MyInterceptor"/>
</property>
<property name="patterns">
<list>
<value>.*handleRequest.*</value>
<value>.*execute.*</value>
</list>
</property>
</bean>
<bean id="signonController" class="org.foodreg.web.SignonController">
<property name="foodReg"><ref bean="foodReg"/></property>
</bean>
<bean id="MyInterceptor" class="test.MethodTimeCostInterceptor" />
<bean id="myAOPProxy" class="org.springframework.aop.framework.ProxyFactoryBean">
<property name="proxyInterfaces">
<value>org.springframework.web.servlet.mvc.Controller</value>
</property>
<property name="target">
<ref local="signonController"/>
<!--
<ref local="menuController"/>
-->
</property>
<property name="interceptorNames">
<list>
<value>myPointcutAdvisor</value>
</list>
</property>
</bean>
<bean id="myAOPProxy2" class="org.springframework.aop.framework.ProxyFactoryBean">
<property name="proxyInterfaces">
<value>org.springframework.web.servlet.mvc.Controller</value>
</property>
<property name="target">
<!--
<ref local="signonController"/>
-->
<ref local="menuController"/>
</property>
<property name="interceptorNames">
<list>
<value>myPointcutAdvisor</value>
</list>
</property>
</bean>
<bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="/foodreg/signon.do">myAOPProxy</prop>
<prop key="/foodreg/office.do">myAOPProxy2</prop>
</props>
</property>
</bean>
可以看到我的 Controller 除了具体实现类不一样,其他都是一样的,怎么在一个代理里设置多个类呢?