Hello World With Pointcut
/*
Pro Spring
By Rob Harrop
Jan Machacek
ISBN: 1-59059-461-4
Publisher: Apress
*/
///////////////////////////////////////////////////////////////////////////////////////
public interface IMessageWriter {
public void writeMessage();
}
///////////////////////////////////////////////////////////////////////////////////////
public class MessageWriter implements IMessageWriter{
public void writeMessage() {
System.out.print("World");
}
}
///////////////////////////////////////////////////////////////////////////////////////
import java.lang.reflect.Method;
import org.springframework.aop.MethodBeforeAdvice;
import org.springframework.aop.framework.ProxyFactory;
public class SimpleBeforeAdvice implements MethodBeforeAdvice {
public void before(Method method, Object[] args, Object target)
throws Throwable {
System.out.println("Before method: " + method.getName());
}
}
///////////////////////////////////////////////////////////////////////////////////////
public class ErrorBean {
public void errorProneMethod() throws Exception {
throw new Exception("Foo");
}
public void otherErrorProneMethod() throws IllegalArgumentException {
throw new IllegalArgumentException("Bar");
}
}
///////////////////////////////////////////////////////////////////////////////////////
import org.springframework.aop.framework.ProxyFactory;
import org.springframework.aop.support.DefaultPointcutAdvisor;
public class HelloWorldWithPointcut {
public static void main(String[] args) {
// get proxy
ProxyFactory pf = new ProxyFactory();
pf.addAdvisor(new DefaultPointcutAdvisor(new SimpleBeforeAdvice()));
pf.setTarget(new MessageWriter());
MessageWriter proxy1 = (MessageWriter)pf.getProxy();
pf.setTarget(new MessageWriter());
MessageWriter proxy2 = (MessageWriter)pf.getProxy();
proxy2.writeMessage();
pf.setTarget(new ErrorBean());
ErrorBean proxy3 = (ErrorBean)pf.getProxy();
proxy3.hashCode();
}
}
HelloWorldWithPointcut.zip( 1,480 k)Related examples in the same category