मुझे एनोटेशन का उपयोग करके बिंदुओं के कटौती के रूप में कुछ तरीकों और उनके गुणों को घुसपैठ करने की आवश्यकता है, लेकिन मैं उन विधि विशेषताओं तक कैसे पहुंच सकता हूं। मेरे पास निम्न कोड है जो विधि चलाने से पहले कोड को सफलतापूर्वक चला सकता है, लेकिन मुझे नहीं पता कि मैं उन अभ्यर्थियों तक कैसे पहुंच सकता हूं।मैं स्प्रिंग एओपी (AspectJ-style) के साथ विधियों के गुणों का उपयोग कैसे कर सकता हूं?
package my.package;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Pointcut;
@Aspect
public class MyAspect {
@Pointcut(value="execution(public * *(..))")
public void anyPublicMethod() {
}
@Around("anyPublicMethod() && @annotation(myAnnotation)")
public Object myAspect(ProceedingJoinPoint pjp, MyAnnotation myAnnotation)
throws Throwable {
// how can I access method attributes here ?
System.out.println("hello aspect!");
return pjp.proceed();
}
}
ठीक है अब मैं यह हो रही है, लेकिन यह अजीब पैरामीटर देता है। org.springframework.s[email protected]8c666a org.springframework.security.web.context.Ht[email protected]197d20c। मेरी विधि @RequestMapping और मेरी अपनी टिप्पणी के साथ वसंत नियंत्रक है। यह मुझे कुछ स्प्रिंग सिक्योरिटी ऑब्जेक्ट्स क्यों दे रहा है जब इसे HttpServletRequest ऑब्जेक्ट को पैराम्स के रूप में देना चाहिए? – newbie
वे मूल http अनुरोध ऑब्जेक्ट्स के आस-पास वसंत प्रॉक्सी हैं। मेरा अद्यतन उत्तर देखें: आप परिभाषित पैरामीटर प्रकार (स्थिर विश्लेषण) और वास्तविक रनटाइम तर्क (गतिशील विश्लेषण) दोनों –
प्राप्त कर सकते हैं मैं इस मामले में HttpServletRequest ऑब्जेक्ट को स्थिर पैरामीटर मान कैसे प्राप्त कर सकता हूं? – newbie