当前位置: 代码迷 >> J2EE >> AspectJ表达式有关问题,求解答
  详细解决方案

AspectJ表达式有关问题,求解答

热度:81   发布时间:2016-04-22 01:54:16.0
AspectJ表达式问题,急急急.求解答
(@cn.javass..Secure *) *(..) 任何返回值类型持有@cn.javass..Secure的方法

不理解上面说的意思.我试着配了一下.但是一直不执行我的切面类.发下我的配置

XML code
  <aop:before method="annotation"          pointcut="execution((@annotation.MyAnnotation *) *(..))"/>



实现接口的类文件是:
Java code
  @Override    public MyAnnotation sayHelloAnnotation() {        System.out.println("after annotation");        return null;    }


切面类:
Java code
  public void annotation() {        System.out.println("before annotation");  }



测试类:
Java code
  public class SpringTest {    private static ClassPathXmlApplicationContext context;        @BeforeClass    public static void setUp() {        try {            context = new ClassPathXmlApplicationContext("bean.xml");        } catch(Exception e) {            e.printStackTrace();        }            }        @Test    public void test() {        try {            HelloApi ha = context.getBean("hello", HelloApi.class);            ha.sayHelloAnnotation();        } catch(Exception e) {            e.printStackTrace();        }    }}


为什么我这么写不符合他说的呢??

------解决方案--------------------
("execution (* com.www.service.impl.*(..))")

执行 返回值类型(*表示任意放回类型) 包 对子包也进行拦截 类 所有的方法 方法参数不限