Sping 顾问代理增强
来源:互联网 发布:ubuntu uuidgen 编辑:程序博客网 时间:2024/05/18 03:54
- public interface IDog {
- public void dog();
public void run(); } public class Dog implements IDog{ public void dog(){ System.out.println("===测试顾问==1dog()"); } public void run() { System.out.println("====测试顾问===2run()"); } } public class MyBefore implements MethodBeforeAdvice { public void before(Method method, Object[] objects, Object o) throws Throwable { System.out.println("======before===="); } }
- <?xml version="1.0" encoding="UTF-8"?>
- <beans xmlns="http://www.springframework.org/schema/beans"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-
- xmlns:aop="http://www.springframework.org/schema/aop"
-
- xmlns:context="http://www.springframework.org/schema/context"
-
- xmlns:p="http://www.springframework.org/schema/p"
-
- xsi:schemaLocation="http://www.springframework.org/schema/beans
- http://www.springframework.org/schema/beans/spring-beans.xsd
-
- http://www.springframework.org/schema/aop
- http://www.springframework.org/schema/aop/spring-aop.xsd
-
- http://www.springframework.org/schema/context
- http://www.springframework.org/schema/context/spring-context.xsd
- ">
-
- <bean id="dog" class="cn.springGuWen.Dog"></bean>
-
- <bean id="before" class="cn.springGuWen.MyBefore"></bean>
-
-
- <!--<bean id="GuWen" class="org.springframework.aop.support.NameMatchMethodPointcutAdvisor">
- <property name="advice" ref="before"></property>
- <property name="mappedNames" value="run"></property>
- </bean>-->
-
-
- <bean id="GuWen" class="org.springframework.aop.support.RegexpMethodPointcutAdvisor">
- <property name="advice" ref="before"></property>
- <property name="patterns" value=".*ru.*"></property>
- </bean>
-
-
- <bean id="TextGuWen" class="org.springframework.aop.framework.ProxyFactoryBean">
-
- <property name="target" ref="dog"></property>
-
- <property name="interceptorNames" value="GuWen"></property>
- </bean>
-
- </beans>
- public class TextGuWen {
-
-
- @Test
- public void aVoid(){
- ApplicationContext ctx=new ClassPathXmlApplicationContext("applicationContext07GuWen.xml");
- IDog dog = (IDog)ctx.getBean("TextGuWen");
- dog.dog();
- System.out.println();
- dog.run();
- }