与返回Collection <string> </string>的方法用于接口的切入点方法模式

时间:2011-06-24 14:43:14

标签: java aspectj

A有一个简单的界面:

package org.example.application;
import java.util.Collection;

public interface Test {
    public Collection<String> findAll();
}

我想在周围创建一个关于此方法的建议:

package org.example.aspect;
import java.util.Collection;

public aspect TestAspect {
    Collection<String> around() : 
        call(Collection<String> org.example.application.Test.findAll()) {
        return proceed();
    }
}

我继续

  

中定义的建议   org.example.aspect.TestAspect没有   已被应用[Xlint:adviceDidNotMatch]

我做错了什么?

1 个答案:

答案 0 :(得分:0)

几天后,我可以回答我自己的问题:

当没有调用mothod findAll()时,会给出“org.example.aspect.TestAspect中定义的警告”[Xlint:adviceDidNotMatch]“。

如果你创建一个实现接口测试的类并且有一个调用findAll()的main方法,那么警告就会消失。

public class TestImpl implements Test {

    @override
    public Collection<String> findAll() {
        return null;
    }

    public static void main(String[] args) {
        Test test = new TestImpl();
        test.findAll();
    }
}