Spring代理 之 ProxyFactory
- package home.dong.aop;
- import java.lang.reflect.Method;
- import home.dong.advice.MyMethodBeforeAdvice;
- import home.dong.impl.Tiger;
- import home.dong.inter.Animal;
- import org.aopalliance.aop.Advice;
- import org.springframework.aop.MethodBeforeAdvice;
- import org.springframework.aop.framework.ProxyFactory;
- import org.springframework.context.ApplicationContext;
- import org.springframework.context.support.ClassPathXmlApplicationContext;
- import org.springframework.aop.support.DefaultPointcutAdvisor;
- public class Spring_Base_AOP {
- public void proxy_A_Animal_1() {
- Tiger animal_Tiger = new Tiger();
- ProxyFactory factory = new ProxyFactory();
- factory.addAdvice(new MyMethodBeforeAdvice());
- // 如果设置了接口
- // factory.setInterfaces(new Class[]{Animal.class});
- // 或
- // factory.addInterface(Animal.class);
- // 那么 ProxyFactory会 使用java 代理来实现 (使用java 代理必须设置接口---既代理目标对象所实现的接口 )
- // 如果没有设置或添加接口 ProxyFactory 则会使用 CGLIB来实现代理
- factory.setTarget(animal_Tiger);
- Animal tiger = (Animal) factory.getProxy();
- System.out.println(tiger._Fight("Lion"));
- }
- public static void main(String[] args) {
- Spring_Base_AOP aop = new Spring_Base_AOP();
- aop.proxy_A_Animal_1();
- }
- }
标签: spring
0 条评论:
发表评论
订阅 博文评论 [Atom]
<< 主页