我试图避免来自控制器类的 dao 调用。如果调用是从服务包完成的,那么 dao 调用应该成功,否则我将抛出异常。我不想在dao类的每个方法中都写这个逻辑,所以打算使用aspectj来拦截dao调用。如何防止控制器中的 dao 并仅允许服务类中的 dao 。我应该使用任何其他 api/approach 吗?任何建议
package com;
import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.springframework.stereotype.Component;
@Aspect
@Component
public class DaoAspect {
@Before(value = "execution(* com.dao.*.*(..))")
public void beforeAdvice( JoinPoint joinPoint) {
// here I want to know the caller package/class
// if its com.service allow ,if com.controller reject
}
}
汪汪一只猫
相关分类