𝗦𝗽𝗿𝗶𝗻𝗴 𝗕𝗼𝗼𝘁 हे केवळ 𝗥𝗘𝗦𝗧 𝗔𝗣𝗜 सर्व्हर नाही

अनेक डेव्हलपर्सना असे वाटते की Spring Boot फक्त JSON डेटा सर्व्ह करते. त्यांना असे वाटते की तुम्हाला React किंवा Vue ॲप Vercel किंवा AWS सारख्या वेगळ्या सर्व्हरवर होस्ट करावे लागेल.

ही एक चूक आहे.

Spring Boot मध्ये एक एम्बेडेड Apache Tomcat सर्व्हर समाविष्ट असतो. याचा अर्थ असा की तुम्ही एकाच JAR फाईलमध्ये फुल-स्टॅक ॲप्लिकेशन्स तयार करू शकता.

एकाच JAR फाईलचा वापर केल्याने तुम्हाला तीन मुख्य फायदे मिळतात:

  • शून्य CORS समस्या: तुमचे frontend आणि backend एकाच पोर्ट आणि डोमेनचा वापर करतात.
  • कमी खर्च: तुम्हाला वेगळ्या Node.js सर्व्हरची गरज नाही. एक Linux सर्व्हर किंवा Docker कंटेनर सर्व काही चालवू शकतो.
  • सोपे डिप्लॉयमेंट: एकच बिल्ड प्रोसेस तुमचे UI आणि सर्व्हर दोन्ही हाताळते.

Spring Boot मध्ये तुमचे UI समाविष्ट करण्याचे चार मार्ग खालीलप्रमाणे आहेत:

  1. Server-Side Templating (SSR) सर्व्हरवर HTML रेंडर करण्यासाठी Thymeleaf वापरा. तुम्ही तुमच्या Maven फाईलमध्ये starter dependency जोडता आणि HTML टेम्पलेट्स परत करण्यासाठी Controller वापरता. हे सोपे आणि जलद आहे.

  2. Vaadin Vaadin तुम्हाला फक्त Java वापरून आधुनिक वेब ॲप्स तयार करण्याची परवानगी देते. तुम्हाला JavaScript किंवा CSS लिहिण्याची गरज नाही. Vaadin बॅकग्राउंडमध्ये React components हाताळते आणि ते Tomcat द्वारे सर्व्ह करते. ज्या Java डेव्हलपर्सना frontend ची गुंतागुंत टाळायची आहे, त्यांच्यासाठी हे उत्तम आहे.

  3. JSF (JavaServer Faces) एंटरप्राइझ सिस्टमसाठी JSF हा एक मजबूत पर्याय आहे. उच्च-गुणवत्तेचे components मिळवण्यासाठी तुम्ही ते PrimeFaces किंवा BootsFaces सोबत जोडू शकता. तुम्हाला फक्त तुमच्या Spring कॉन्फिगरेशनमध्ये FacesServlet रजिस्टर करण्याची आवश्यकता आहे.

  4. Indie Hacker पद्धत (SPA Integration) तुम्ही React किंवा Vite ॲप तयार करू शकता आणि बिल्ड फाईल्स src/main/resources/static फोल्डरमध्ये हलवू शकता.

हे ऑटोमेट करण्यासाठी, frontend-maven-plugin वापरा. हे तुमच्या Maven बिल्ड दरम्यान npm install आणि npm build चालवते.

React वापरकर्त्यांसाठी एक टीप: जर तुम्ही React Router वापरत असाल, तर अज्ञात पाथ (paths) index.html वर रिडायरेक्ट करण्यासाठी एक Controller तयार करा. यामुळे वापरकर्त्यांनी पेज रिफ्रेश केल्यावर 404 एरर येत नाहीत.

अतिरिक्त सर्व्हर शोधणे थांबवा. तुमच्या एम्बेडेड Tomcat च्या शक्तीचा वापर करा.

स्त्रोत: https://dev.to/ganigurgah/spring-boot-is-not-just-a-rest-api-server-50hh