Spring ProxyFactory

ProxyFactory 是 Spring AOP的实现方式之一。下面介绍下ProxyFactory的用法。

1、接口定义

public interface UserReadService {

    public UserInfo getUserInfoById(Long id);
}

2、接口实现

public class UserReadServiceImpl implements UserReadService {

    @Override
    public UserInfo getUserInfoById(Long id) {
        System.out.println("获取用户信息");
        return null;
    }

}

3、拦截器定义

public class UserInterceptor implements MethodInterceptor {
        @Override
        public Object invoke(MethodInvocation invocation) throws Throwable {
            System.out.println("start");
            Object obj = invocation.proceed();
            System.out.println("end");
            return obj;
        }
        
}

4、测试

    public static void main(String[] args) {
        ProxyFactory factory = new ProxyFactory(new UserReadServiceImpl());
        factory.addAdvice(new UserInterceptor());
        UserReadService userReadService = (UserReadService) factory.getProxy();
        userReadService.getUserInfoById(null);
    }

 结果:

start
获取用户信息
end

 

posted @ 2016-05-28 23:36  坚守一辈子的幸福  阅读(1185)  评论(0编辑  收藏  举报