सक्षम यह वह जगह है इस सवाल से पर निम्नलिखित:स्प्रिंग AOP या AspectJ
Spring autowired bean for @Aspect aspect is null
मेरे प्रारंभिक समझ है कि जब वसंत AOP का उपयोग कर, @Aspect साथ एनोटेट वर्गों वसंत कामयाब सेम के रूप में बनाई गई हैं रहा था, इसलिए निर्भरता इंजेक्शन सामान्य के रूप में काम करेंगे। हालांकि ऐसा लगता है कि @Aspect एनोटेशन के साथ एक वस्तु वसंत कंटेनर के बाहर एक सिंगलटन के रूप में बनाया जाता है, इसलिए मुझे क्रम में यह सक्षम करने के लिए तो जैसे XML में ठीक से कॉन्फ़िगर करने के लिए होने के रूप में एक स्प्रिंग कामयाब सेम:
<bean id="aspect" class="com.mysite.aspect" factory-method="aspectOf" />
यह अब मुझे पूरी तरह उलझन में डाल दिया है। मैंने सोचा था कि निम्नलिखित विन्यास वसंत AOP का प्रयोग करेंगे:
<context:component-scan base-package="com.mysite.aspectPackage"/>
<aop:aspectj-autoproxy/>
तो यह पहलू सेम बनाने घटक स्कैन का उपयोग कर @Aspect एनोटेशन के लिए स्कैन होगा, और फिर autoproxy एक beanPostProcessor जो उचित के साथ मेरे संदर्भ में सभी सेम प्रॉक्सी पैदा करेगा सलाह। मैंने फिर पहलू को सक्षम करने के लिए सोचा था कि मुझे एक पूरी तरह से अलग एक्सएमएल कॉन्फ़िगरेशन की आवश्यकता होगी (जो संयोग से मुझे प्रलेखन में एक उदाहरण नहीं मिल रहा है)। यह इस विन्यास पहलुओं है कि मेरे कंटेनर या जो काम के बाहर होगा बाईटकोड जोड़ तोड़ के बजाय प्रॉक्सी करके बनाने के लिए AspectJ का उपयोग करता है किया जाएगा।
नोट
यह वसंत AOP और पहलू जम्मू के बीच अंतर पर एक प्रश्न, यह अच्छी तरह से यहाँ व्यक्त कर रहा है नहीं है:
मैंने वसंत 4.3 के साथ यह कोशिश की और '@ पहलू' @ घटक के साथ एनोटेटिंग पहलू DI के साथ भी पूरी तरह से ठीक काम करता है, जैसा कि @ बोझो ने अपने उत्तर में लिखा था – csharpfolk