나는이 같은 유사 정의 된 포인트 컷의 요구되는 측면이 있습니다 이러한 측면 내부 그래서AspectJ를이 : @Aspect
@Around("pointcut1(request) || pointcut2(request) || pointcut3(request)")
public ModelAndView myAspect(ProceedingJoinPoint proceedingJp,
HttpServletRequest request)
{
//do something.
}
을 나는 것을 알 필요가 어느 pointcut (pointcut1/2/3)이 myAspect가 호출되는지. 내가 이것을 어떤면에서 얻을 수있는 이유가 있습니까?
는 가 나는 @Aspect (방법)에서 얻을 수있는 모든 매개 변수가 없습니다 ..... 자세한 내용을 추가합니다. JoinPoint를 얻을 수는 있지만 잘 작동하지 않습니다. 이 같은 뭔가 매우 편리 할 것입니다 ....@Around("pointcut1(request) || pointcut2(request) || pointcut3(request)")
public ModelAndView myAspect(ProceedingJoinPoint proceedingJp, PointCut pc ,HttpServletRequest request){
if (pc.equals("pointcut1")) {
//do something.
}
if (pc.equals("pointcut2")) {
//do something.
}
// ...
}
제안하십시오!
더 이상 제안하지 마세요 !!!
안녕하세요, Andrew, 의견을 보내 주셔서 감사합니다. 모양이 좋고 나를 위해 작동 할 것이지만 조금 무거워 보일 것입니다 (두 통의 조언이 있습니다). 그리고 여러분이 지적했듯이, 나는 멀티 스레딩을 처리해야합니다. @Aspect (메서드)에서 얻을 수있는 매개 변수가없는 것입니까? JoinPoint를 얻을 수는 있지만 잘 작동하지 않습니다. 이 같은 것이 매우 편리 할 것입니다. @Around ("pointcut1 (request) || pointcut2 (request) || pointcut3 (request)") public ModelAndView myAspect (ProceedingJoinPoint proceedingJp, PointCut pc, HttpServletRequest request) { – Girish
코드 스타일 aspectj를 사용하면, 멀티 스레딩에 대해 걱정할 필요가 없습니다. 애스펙트에서 인스턴스화 모델을 지정할 수 있습니다. 방법을 보여주기 위해 질문을 편집 할 것입니다. –