Spring AOP Generic Typing

时间:2013-04-12 15:27:30

标签: java spring aop

我是Spring的新手,我遇到了一个方面的问题。切入点是使用泛型类型的接口:

public interface DaoJdbc<T> {
    public void create(T input);
    public T read(int id);
    public void update(T s);
    public void delete(int id);
    public void getDailyMessage();
}

这是我的方面:

<aop:aspect ref="security">
    <aop:pointcut id="passwordNeeded"
        expression="execution(* com.user.service.DaoJdbc.*(..))" />
    <aop:before pointcut-ref="passwordNeeded" method="check" />
</aop:aspect>

该方面适用于delete(),但不适用于create()。如果我使用DaoJdbc的实现而不是接口本身(我不想这样做),它将适用于'create()'。我可以假设这是update()使用泛型类型而delete()不使用泛型类型的问题。有什么方法可以让我使用界面工作吗?提前谢谢。

1 个答案:

答案 0 :(得分:2)

找到解决方案,需要一个加号来表示通用。

expression="execution(* com.user.service.DaoJdbc+.*(..))"