Aspect Hello World Example : Spring Aspect « Spring « Java






Aspect Hello World Example

/* 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 org.aopalliance.intercept.MethodInterceptor; import org.aopalliance.intercept.MethodInvocation; publicclass MessageDecorator implements MethodInterceptor { public Object invoke(MethodInvocation invocation) throws Throwable { System.out.print("Hello "); Object retVal = invocation.proceed(); System.out.println("!"); return retVal; } } /////////////////////////////////////////////////////////////////////////////////////// import org.springframework.aop.framework.ProxyFactory; publicclass HelloWorldAOPExample { publicstaticvoid main(String[] args) { MessageWriter target = new MessageWriter(); // create the proxy  ProxyFactory pf = new ProxyFactory(); pf.addAdvice(new MessageDecorator()); pf.setTarget(target); MessageWriter proxy = (MessageWriter) pf.getProxy(); // write the messages  target.writeMessage(); System.out.println(""); proxy.writeMessage(); } } 








SpringHelloWorldExample.zip( 1,479 k)

Related examples in the same category

1.Profiling Example
2.Introduction Config Example
3.Security Example
4.Simple After Returning Advice
5.Simple Before Advice
6.Simple Throws Advice
7.Composable Pointcut Example
8.Control Flow Example
9.Dynamic Pointcut Example
10.Hello World With Pointcut
11.Spring Aspect Introduction Example
12.Static Pointcut Example
13.Name Pointcut Example
14.Name Pointcut Using Advisor
15.Proxy Factory Bean Example
16.Proxy Perf Test
17.Regexp Pointcut Example
18.After Advice Example
19.AspectJ Example from Pro Spring
close