आप तरीकों कि अपने कस्टम एनोटेशन एनोटेट सलाह देने के लिए एक पहलू को बनाने के लिए स्प्रिंग AOP उपयोग कर सकते हैं
उदाहरण के लिए एक FilteredExecution एनोटेशन बनाने के अपने तरीकों पर निर्दिष्ट करने
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface FilteredExecution{
Class<? extends ExecutionFilter> value();
}
ExecutionFilter तय करने के लिए निष्पादन
public interface ExecutionFilter{
boolean sholudExecute();
}
तब घटित होता है तो पहलू एक अंतरफलक है
@Aspect
@Component
public class FilteredExceutionAspect{
@Around("@annotion(filterAnnotation)")
public void filter(ProceedingJoinPoint pjp , FilteredExecution filterAnnotation){
boolean shouldExecute = checkShouldExecute(filterAnnotation);
if(shouldExecute){
pjp.proceed();
}
}
private boolean checkShouldExecute(FilteredExecution filterAnnotation){
//use reflection to invoke the ExecutionFilter specified on filterAnnotatoon
}
आप अपने संदर्भ को स्थापित करने की आवश्यकता है ताकि कस्टम एनोटेशन के साथ आपके सेम ऑटो द्वारा प्रॉक्सी हो जाएं g @EnableAspectjAutoProxy आपकी कॉन्फ़िगरेशन क्लास
स्रोत
2016-05-16 08:08:07
"विधि लागू होने पर यह एनोटेशन दिखाया गया है, और मेथड के दस्तावेज़ को देखें" वास्तव में नहीं। आप जावाडोक-टिप्पणियों के आधार पर एचटीएमएल-पेज जेनरेट कर सकते हैं, लेकिन जब "विधि लागू की जाती है" तो उन्हें "दिखाया नहीं जाता"। क्या आपका मतलब किसी भी मौके से आपके आईडीई की टूल टिप है? आपका उत्तर ओपी के सवाल से निपटता नहीं है। – Turing85