2010-12-21 18 views
41

मैं annoations को एक xml config से आगे बढ़ रहा हूँ। मैं एक सत्र सेम है किएनोटेशन बराबर <aop: scoped-प्रॉक्सी>

<aop:scoped-proxy> 

इस एनोटेशन के साथ किया जा सकता है, और यदि नहीं, क्या मैं अभी भी उस घोषणा काम कर रखने के लिए कर सकते हैं scoped परिवर्तित करना चाहते हैं?

संपादित करें: मैं इसे @Scope एनोटेशन के proxyMode विशेषता के आधार पर निर्दिष्ट किया जा सकता स्प्रिंग 2.5

उत्तर

10
वसंत संदर्भ एक्सएमएल में

, कुछ ऐसा करें:

<context:component-scan base-package="com.startup.failure" scoped-proxy="interfaces" /> 

ध्यान दें कि आपको डब्ल्यू हालांकि, उस पैकेज में सभी वर्गों के लिए संस्कार इंटरफेस।

82

में ऐसा करने स्प्रिंग 3.0 में में दिलचस्पी है:

@Scope(value = "session", proxyMode = ScopedProxyMode.INTERFACES) 
+0

प्रॉक्सीमोड स्कोप का क्षेत्र नहीं है। 3.0 के लिए यह है? – mkoryak

+1

@mkoryak हां, यह 2.5 में वहां नहीं है: http://static.springsource.org/spring/docs/2.5.x/api/org/springframework/context/annotation/Scope.html लेकिन यह 3.0 में दिया गया है: http://static.springsource.org/spring/docs/3.0.x/javadoc-api/org/springframework/context/annotation/Scope.html –

+5

सटीक बराबर 'है ScopedProxyMode.TARGET_CLASS' –

4

स्प्रिंग 2.5.x

में अगर मैं

<context:component-scan base-package="com.startup.failure" scoped-proxy="TARGET_CLASS" /> 

की तरह वसंत-context.xml कुछ में क्या तो इस तरह से मैं इंटरफेस को लागू करने के लिए अपने प्रॉक्सी सेम की जरूरत नहीं है? (CGLIB का उपयोग जेडीके मानक नहीं)। इसने परीक्षण नहीं किया लेकिन मुझे लगता है कि इसे काम करना चाहिए। बेशक आपको cglib लाइब्रेरी की आवश्यकता है, आपको इसे <aop:scoped-proxy> के साथ वैसे भी चाहिए।

संबंधित मुद्दे