2011-10-25 11 views
7

स्प्रिंग ईएल एक कुछ पूर्वनिर्धारित वैरिएबलवसंत ईएल चर के सूची?

  • {#systemProperties. ... }
  • {#systemEnvironment. ... }
  • {#request. ...}
  • {#session. ...}

का समर्थन करता है पहले दो एक बार Spring Reference: chapter 6. Spring Expression Language (SpEL) में दर्ज कर रहे हैं। स्प्रिंग रेफरेंस में दो अन्य का उल्लेख नहीं किया गया है (या मैंने उन्हें नहीं मिला।) (मैंने उन्हें slides में पाया, साथ ही spring social में इसका उपयोग और यह question)।

तो मेरा सवाल यह है: क्या पूर्व परिभाषित वसंत-एल चर की एक कम या कम पूरी सूची है?

मुझे लगता है कि इनमें से कुछ पूर्वनिर्धारित चर वसंत कोर द्वारा परिभाषित नहीं हैं, लेकिन वसंत-एमवीसी जैसे कुछ मॉड्यूल के "सक्रिय" द्वारा। इसलिए मुझे वेरिएबल्स में दिलचस्पी है जो कम या ज्यादा सामान्य वसंत + जेपीए + एमवीसी + सुरक्षा अनुप्रयोग में उपलब्ध हैं।

उत्तर

5

मैं आपके मूल प्रश्न का उत्तर नहीं दे सकता लेकिन मैं आपको एक संकेत दे सकता हूं।

कुछ पूर्वनिर्धारित सेम आपके आवेदन संदर्भ की शुरूआत में पंजीकृत हैं लेकिन जो संदर्भ प्रकार आप उपयोग कर रहे हैं उस पर निर्भर करता है।

आम तौर पर, systemProperties और systemEnvironment मौजूद हैं। एक वेब अनुप्रयोग के भीतर वसंत लोड हो रहा है, आपको servletContext, contextParameters और contextAttributes भी मिलेगा। मुझे लगता है, request और session वेब अनुप्रयोग संदर्भ से संबंधित हैं।

मैंने इसे अपने आवेदन के डीबगिंग के दौरान खोजा जो स्प्रिंग 3.0.6RELEASE का उपयोग करता है। एक अच्छा प्रारंभिक बिंदु SpringBeanELResolver.getValue() विधि है।

7

मुझे यह भी पता है कि environment वर्तमान org.springframework.core.env.Environment उदाहरण का समाधान करता है। मुझे यकीन है कि यह एक दस्तावेज सुविधा है नहीं कर रहा हूँ, लेकिन मैं अपने @Configuration कक्षा में निम्नलिखित करने के लिए एक संक्षिप्त तरीके के लिए देख रहा था:

@Value("#{environment.acceptsProfiles('test')}") 
private boolean test; 

कौन सा तो मुझे आगे बीन defintions में यह मान बंद करने की अनुमति देता है।

https://jira.springsource.org/browse/SPR-9037

:

मैं इस मुद्दे के समाधान के लिए निम्न JIRA प्रस्तुत की है

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