Spring ProxyFactory

时间:2021-05-22 07:40:23

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