You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

Code4.java 1.2KB

123456789101112131415161718192021222324252627282930313233343536
  1. import org.aspectj.lang.annotation.*;
  2. import org.aspectj.lang.JoinPoint;
  3. import org.aspectj.lang.annotation.AfterReturning;
  4. import org.aspectj.lang.annotation.Aspect;
  5. public class Code4 {
  6. public Object createBean(String name) {
  7. return 37;
  8. }
  9. public static void main(String[] args) {
  10. Code4 factory = new Code4();
  11. System.out.println("Code4.main returned from call to createBean "+factory.createBean("s"));
  12. }
  13. }
  14. @Aspect
  15. class AfterReturningTestAspect {
  16. @AfterReturning(pointcut = "call(Object createBean(String)) && args(beanName)", returning = "bean")
  17. public void afterReturningCreateBean(Object bean, String beanName) throws Throwable {
  18. System.out.println("afterReturningCreateBean advice input='" + beanName + "' ret=" + bean);
  19. }
  20. /*
  21. @AfterReturning(pointcut = "call(Object aspects.SimpleAfterReturningTest.createBean(String)) " +
  22. "&& args(beanName)", returning = "bean")
  23. public void afterReturningCreateBean(JoinPoint joinPoint, Object bean,
  24. String beanName) throws Throwable {
  25. System.out.println("afterReturningCreateBean(JoinPoint joinPoint,
  26. Object bean, String beanName) for '" + beanName + "'=" + bean);
  27. }
  28. */
  29. }