import org.aopalliance.intercept.MethodInterceptor;
import org.aopalliance.intercept.MethodInvocation;
public class LoggingInterceptor implements MethodInterceptor {
@Override
public Object invoke(MethodInvocation invocation) throws Throwable {
System.out.println("Before method execution");
Object result = invocation.proceed();
System.out.println("After method execution");
return result;
}
}
import org.aopalliance.aop.Advice;
import org.aopalliance.intercept.MethodInterceptor;
import org.aopalliance.intercept.MethodInvocation;
import org.springframework.aop.framework.ProxyFactory;
public class Main {
public static void main(String[] args) {
UserService userService = new UserServiceImpl();
Advice advice = new LoggingInterceptor();
ProxyFactory proxyFactory = new ProxyFactory();
proxyFactory.setTarget(userService);
proxyFactory.addAdvice(advice);
UserService proxyUserService = (UserService) proxyFactory.getProxy();
proxyUserService.login("admin", "password");
}
}