2015-07-14 15 views
27

मेरे पास एक मौजूदा वसंत 3.1.4 एप्लिकेशन है जो ठीक काम करता है और अपने आप ठीक से बूट करता है। मैं वर्तमान में वसंत संदर्भ मैन्युअल रूप से अपने मुख्य वर्ग में शुरू करता हूं। यह वसंत-एमवीसी ऐप नहीं है, इसमें कोई सर्वलेट नहीं है, web.xml और न ही यह एक युद्ध उत्पन्न करता है। यह सिर्फ एकीकरण बैकएंड के लिए एक जार पैदा करता है।वसंत-बूट में मौजूदा वसंत ऐप माइग्रेट करें, मैन्युअल रूप से वसंत-बूट को कॉन्फ़िगर करें?

मैं इस विरासत एप्लिकेशन को "लपेट" और वसंत-बूट के साथ लॉन्च करना चाहता हूं। हालांकि मुझे यह पता लगाने में परेशानी हो रही है कि ऐसा कैसे करें क्योंकि सभी उदाहरण एक "नया" एप्लिकेशन बनाने के लिए प्रतीत होते हैं।

1) मैं इसे अपने मौजूदा वसंत एप्लिकेशन सेम घोषणाओं के साथ अपने मौजूदा applicationContext.xml फ़ाइल है

2) नए सेम कॉन्फ़िगरेशन है कि मैं अपने मौजूदा स्प्रिंग applicationContext.xml को जोड़ने की जरूरत है की न्यूनतम सेट क्या है स्प्रिंग-बूट डब्ल्यू/टोमकैट लॉन्च करने के लिए फ़ाइल करें और मेरे सभी मौजूदा बीन्स वसंत-बूट लपेटा संदर्भ में लोड करें?

क्या कोई मुझे सही दिशा में इंगित कर सकता है?

+0

यदि यह कोई वेब ऐप नहीं है तो टॉमकैट के साथ स्प्रिंग बूट का उपयोग क्यों करें? बस वेब निर्भरता का उपयोग न करें और वसंत बूट को आपके लिए संदर्भ बनाएं। स्प्रिंग बूट को वेब आधारित एप्लिकेशन होने की आवश्यकता नहीं है। आप कमांड लाइन ऐप्स के लिए भी इसका इस्तेमाल कर सकते हैं। –

उत्तर

31

वसंत बूट संदर्भ मार्गदर्शिका में Converting an existing application to Spring Boot को समर्पित एक अध्याय है।

@SpringBootApplication 
@ImportResource("classpath:applicationContext.xml") 
public class MySpringBootApplication { 
    public static void main(String[] args) { 
     SpringApplication.run(MySpringBootApplication.class, args); 
    } 
} 

बहरहाल, यह भी उपलब्ध वर्गों (अन्य बातों के अलावा) पर आधारित स्प्रिंग बूट की ऑटो-विन्यास को गति प्रदान करेगा:

मूल रूप से आप वसंत बूट निर्भरता को जोड़ने के लिए और फिर इस तरह मुख्य प्रवेश बिंदु लागू की जरूरत है और कॉन्फ़िगर कियाम सेम। आप disable certain auto-configurations चाहते हैं। डेटासोर्स और हाइबरनेट जेपीए ऑटो-कॉन्फ़िगरेशन को बाहर करने के लिए, उपयोग करें:

@SpringBootApplication(exclude = { DataSourceAutoConfiguration.class, HibernateJpaAutoConfiguration.class }) 
+0

स्टार्टर-वेब निर्भरता का उपयोग करना, जो मुझे पागल कर रहा है, क्योंकि यह कुछ डेटासोर्स चाहता है जिसकी मुझे आवश्यकता नहीं है, जैसे "डेटाबेस प्रकार के लिए एम्बेडेड डेटाबेस ड्राइवर वर्ग निर्धारित नहीं कर सकता"। मैं एक ठीक से कॉन्फ़िगर किया गया टॉमकैट एम्बेडेड और WSSpringServlet तक लगा हुआ हूं ताकि मैं कुछ कस्टम एसओएपी सेवाओं को पंजीकृत कर सकूं। – bitsofinfo

+0

तो इस http://docs.spring.io/spring-boot/docs/current/reference/html/howto-traditional-deployment.html#howto-convert-an-existing- appplication-to-spring-boot का पालन किया और मुझे यह "डेटाबेस प्रकार के लिए एम्बेडेड डेटाबेस ड्राइवर वर्ग निर्धारित नहीं कर सकता" त्रुटि प्राप्त करें। मेरे पास मौजूदा मौजूदा वसंत संदर्भ स्रोतों में कॉन्फ़िगर किए गए किसी अन्य डेटाबेस के अलावा मुझे डेटाबेस की बिल्कुल आवश्यकता नहीं है जिसे मैं दस्तावेज़ में नोट किए गए एप्लिकेशन में जोड़ रहा हूं। – bitsofinfo

+0

वसंत बूट की ऑटो कॉन्फ़िगरेशन (अन्य चीजों के साथ) उपलब्ध वर्गों और कॉन्फ़िगर किए गए सेम की जांच करता है। आपके पास शायद एक (प्रयुक्त) निर्भरता या एक (गलत कॉन्फ़िगर किया गया) बीन है जो कुछ ऑटो-कॉन्फ़िगरेशन को ट्रिगर करता है जिसके लिए डेटास्रोत की आवश्यकता होती है। ऑटो कॉन्फ़िगरेशन कक्षाओं के बारे में अधिक जानकारी के लिए [संदर्भ] (http://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#auto-configuration-classes) देखें। – hzpz

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