Hello World With Pointcut
/* Pro Spring By Rob Harrop Jan Machacek ISBN: 1-59059-461-4 Publisher: Apress *//////////////////////////////////////////////////////////////////////////////////////// publicinterface IMessageWriter { publicvoid writeMessage(); } /////////////////////////////////////////////////////////////////////////////////////// publicclass MessageWriter implements IMessageWriter{ publicvoid writeMessage() { System.out.print("World"); } } /////////////////////////////////////////////////////////////////////////////////////// import java.lang.reflect.Method; import org.springframework.aop.MethodBeforeAdvice; import org.springframework.aop.framework.ProxyFactory; publicclass SimpleBeforeAdvice implements MethodBeforeAdvice { publicvoid before(Method method, Object[] args, Object target) throws Throwable { System.out.println("Before method: " + method.getName()); } } /////////////////////////////////////////////////////////////////////////////////////// publicclass ErrorBean { publicvoid errorProneMethod() throws Exception { thrownew Exception("Foo"); } publicvoid otherErrorProneMethod() throws IllegalArgumentException { thrownew IllegalArgumentException("Bar"); } } /////////////////////////////////////////////////////////////////////////////////////// import org.springframework.aop.framework.ProxyFactory; import org.springframework.aop.support.DefaultPointcutAdvisor; publicclass HelloWorldWithPointcut { publicstaticvoid 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