2015-01-27 15 views
5

में ग्रूवी सेम मैं इस xml configरजिस्टर वसंत जावा config

<?xml version="1.0" encoding="UTF-8"?> 
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:lang="http://www.springframework.org/schema/lang" 
    xsi:schemaLocation=" 
    http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd 
    http://www.springframework.org/schema/lang http://www.springframework.org/schema/lang/spring-lang.xsd"> 

    <lang:groovy id="foo" script-source="${groovyBeanLocation}"/> 
</beans> 

मैं अपने ApplicationConfig में इस config आयातित है, लेकिन (जावा और xml) विन्यास के कई प्रकार मिश्रण नहीं करना चाहती।

मैं जावा का उपयोग करके एक दी गई कॉन्फ़िगरेशन कैसे बना सकता हूं?

+2

अभी तक कोई विकल्प नहीं है। इसे एक https://jira.spring.io/browse/SPR-12300 और इसके लिंक किए गए SO प्रश्न देखें। –

+0

@ArtemBilan मुझे मिला [GroovyScriptFactory] (http://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/scripting/groovy/GroovyScriptFactory.html) और [ScriptFactoryPostProcessor] (http: // docs.spring.io/spring/docs/current/javadoc-api/org/springframework/scripting/support/ScriptFactoryPostProcessor.html), लेकिन अभी तक यह पता नहीं लगा है। समाधान ठीक है। –

+1

हाँ, यह सच है। लेकिन इस तरह के अंत आवेदन के लिए इतना आसान नहीं है। बेहतर हो सकता है कि अभी के लिए '@ImportResource ("classpath: scriptsContext.xml") का उपयोग करें। –

उत्तर

1

यदि आप स्प्रिंग बीन के रूप में ग्रोवी क्लास का उपयोग कर रहे हैं, तो आपको < लैंग की आवश्यकता नहीं है: groovy> टैग बिल्कुल। बस अपनी संकलित कक्षा को तैनात करें जैसे कि यह जावा था, और इसे तब तक काम करना चाहिए जब तक आप एक परियोजना निर्भरता के रूप में ग्रोवी-सभी जार फ़ाइल शामिल करते हैं।

< लैंग: ग्रोवी> एक स्क्रिप्ट-स्रोत के साथ टैग "ताज़ा करने योग्य" बीन्स के लिए है। यही वह जगह है जहां आप स्रोत कोड (संकलित संस्करण के बजाए) को तैनात करते हैं, और वसंत आपके लिए परिवर्तन और recompiles का पता लगाता है। इस तरह आप चल रहे एप्लिकेशन में कोड अपडेट कर सकते हैं, जो कि शांत है लेकिन बहुत दुर्लभ है।

यदि आप जो करना चाहते हैं वह ग्रोवी में अपनी कार्यान्वयन कक्षाएं लिखना है, तो बस उन्हें सामान्य रूप से संकलित करें और उन्हें जावा कॉन्फिग फ़ाइलों में जोड़ें जिससे आप किसी भी अन्य बीन की तरह हों। यह वसंत के लिए सभी बाइटकोड है।

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