Spring Boot একটি জনপ্রিয় ফ্রেমওয়ার্ক যা Spring অ্যাপ্লিকেশন দ্রুত তৈরি করার জন্য ব্যবহৃত হয়। Spring Boot প্রজেক্টে বিভিন্ন টুল এবং কনফিগারেশন সরবরাহ করা হয় যা ডেভেলপারদের অ্যাপ্লিকেশন তৈরি এবং চালানোর কাজকে সহজ করে। এর মধ্যে দুটি গুরুত্বপূর্ণ উপাদান হল Spring Boot Starter এবং Spring Boot CLI।
এই গাইডে আমরা Spring Boot Starter এবং Spring Boot CLI এর ব্যবহার কীভাবে করা হয়, তা বিস্তারিতভাবে দেখবো।
Spring Boot Starter
Spring Boot Starter হল একাধিক ডিপেনডেন্সি এবং কনফিগারেশন সেটের একটি গ্রুপ যা Spring অ্যাপ্লিকেশনের প্রাথমিক সেটআপ এবং ফিচারগুলির জন্য প্রিপ্যাকেজড হয়। Spring Boot Starter ব্যবহারের মাধ্যমে ডেভেলপাররা সহজে এবং দ্রুত প্রজেক্ট তৈরি করতে পারেন, কারণ এতে সমস্ত প্রয়োজনীয় ডিপেনডেন্সি এবং কনফিগারেশন সন্নিবেশিত থাকে।
1. Spring Boot Starter এর সুবিধা
- Easy Setup: একাধিক ডিপেনডেন্সি এবং কনফিগারেশন একসাথে দেওয়া হয়, ফলে অ্যাপ্লিকেশন তৈরি করতে সময় কম লাগে।
- Pre-configured Components: Spring Boot Starter পূর্বনির্ধারিত কম্পোনেন্টগুলির সেট নিয়ে আসে যা ডেভেলপারদের প্রচুর কনফিগারেশন এবং কোড লেখার হাত থেকে মুক্তি দেয়।
- Commonly Used Dependencies: Starter প্যাকেজগুলি সাধারণত ব্যবহৃত ডিপেনডেন্সি যেমন
spring-boot-starter-web,spring-boot-starter-data-jpa,spring-boot-starter-thymeleafইত্যাদি অন্তর্ভুক্ত করে।
2. Spring Boot Starters উদাহরণ
Spring Boot Starter বিভিন্ন ফিচার এবং ডিপেনডেন্সি প্রদান করে। কিছু গুরুত্বপূর্ণ স্টার্টার প্যাকেজের উদাহরণ:
2.1 Spring Boot Starter Web
Spring Boot Starter Web ডিপেনডেন্সি ওয়েব অ্যাপ্লিকেশন তৈরি করতে ব্যবহৃত হয়, যেমন RESTful API বা মাইক্রোসার্ভিস অ্যাপ্লিকেশন।
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
এটি spring-boot-starter-web প্যাকেজটি যোগ করবে, যা ওয়েব অ্যাপ্লিকেশন ডেভেলপ করার জন্য প্রয়োজনীয় ডিপেনডেন্সি (যেমন: Spring MVC, Tomcat, Jackson ইত্যাদি) অন্তর্ভুক্ত করে।
2.2 Spring Boot Starter Data JPA
Spring Boot Starter Data JPA ডিপেনডেন্সি ডেটাবেস ইন্টিগ্রেশন এবং JPA ব্যবহার করার জন্য ব্যবহৃত হয়।
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
এটি spring-boot-starter-data-jpa প্যাকেজটি যোগ করবে, যা JPA (Java Persistence API) ব্যবহার করার জন্য প্রয়োজনীয় ডিপেনডেন্সি এবং কনফিগারেশন সরবরাহ করে।
2.3 Spring Boot Starter Thymeleaf
Spring Boot Starter Thymeleaf ডিপেনডেন্সি টেমপ্লেট ইঞ্জিন হিসেবে Thymeleaf ব্যবহারের জন্য।
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
এটি Thymeleaf টেমপ্লেট ইঞ্জিন ব্যবহার করার জন্য প্রয়োজনীয় ডিপেনডেন্সি যোগ করবে, যা HTML টেমপ্লেট রেন্ডারিং সহজ করে।
3. Spring Boot Starter এর মাধ্যমে Application তৈরি করা
Spring Boot Starter ব্যবহার করে Spring Boot অ্যাপ্লিকেশন খুব দ্রুত তৈরি করা যায়। Spring Initializr ব্যবহার করে আপনি খুব সহজেই Starter ডিপেনডেন্সি নির্বাচন করতে পারেন এবং একটি Spring Boot প্রজেক্ট তৈরি করতে পারেন।
Spring Initializr ওয়েবসাইটে গিয়ে আপনি spring-boot-starter-web, spring-boot-starter-data-jpa ইত্যাদি স্টার্টার প্যাকেজ নির্বাচন করতে পারেন, এবং এই স্টার্টার প্যাকেজের মাধ্যমে আপনার অ্যাপ্লিকেশন তৈরি হবে।
Spring Boot CLI
Spring Boot CLI (Command Line Interface) একটি টুল যা আপনাকে Groovy স্ক্রিপ্টিং ভাষার মাধ্যমে Spring অ্যাপ্লিকেশন দ্রুত তৈরি এবং রান করার সুযোগ দেয়। এটি Spring Boot অ্যাপ্লিকেশন চালানোর জন্য একটি কনসোল বা কমান্ড লাইনে ব্যবহার করা হয়।
1. Spring Boot CLI এর সুবিধা
- Rapid Development: CLI ব্যবহার করে আপনি Spring অ্যাপ্লিকেশন দ্রুত তৈরি এবং চালাতে পারবেন।
- Groovy Scripting: Spring Boot CLI Groovy স্ক্রিপ্টিং ভাষা ব্যবহার করে, যার মাধ্যমে Spring অ্যাপ্লিকেশন খুব দ্রুত তৈরি করা যায়।
- No need for IDE: CLI ব্যবহারের মাধ্যমে আপনি IDE ব্যবহার না করেও Spring অ্যাপ্লিকেশন তৈরি এবং চালাতে পারেন।
2. Spring Boot CLI ইনস্টলেশন
Spring Boot CLI ইনস্টল করতে হলে, আপনি Homebrew, SDKMAN, বা manually ইনস্টল করতে পারেন। এখানে Homebrew দিয়ে ইনস্টল করার পদ্ধতি দেখানো হচ্ছে।
Homebrew ব্যবহার করে ইনস্টলেশন (MacOS):
brew install springboot
SDKMAN ব্যবহার করে ইনস্টলেশন (Linux/MacOS):
sdk install springboot
Manual Installation:
Spring Boot CLI ডাউনলোড এবং ইনস্টল করার জন্য Spring官网下载 থেকে লেটেস্ট রিলিজ ডাউনলোড করে ইনস্টল করতে পারেন।
3. Spring Boot CLI ব্যবহার করে অ্যাপ্লিকেশন তৈরি করা
Spring Boot CLI ব্যবহারের মাধ্যমে খুব সহজেই একটি Spring অ্যাপ্লিকেশন তৈরি করা যায়। নীচে একটি উদাহরণ দেওয়া হলো:
3.1 Spring Boot অ্যাপ্লিকেশন তৈরি করা
প্রথমে একটি .groovy ফাইল তৈরি করুন এবং এতে একটি Spring Boot অ্যাপ্লিকেশন লিখুন:
@RestController
class HelloController {
@RequestMapping("/")
String home() {
return "Hello, Spring Boot CLI!"
}
}
3.2 CLI মাধ্যমে অ্যাপ্লিকেশন রান করা
Spring Boot CLI দিয়ে .groovy ফাইলটি রান করতে, নিচের কমান্ডটি ব্যবহার করুন:
spring run hello.groovy
এটি Spring Boot অ্যাপ্লিকেশন শুরু করবে এবং আপনি ব্রাউজারে গিয়ে http://localhost:8080 দেখতে পাবেন, যেখানে "Hello, Spring Boot CLI!" প্রদর্শিত হবে।
4. CLI মাধ্যমে অ্যাপ্লিকেশন কনফিগারেশন
Spring Boot CLI তে সাধারণ Spring Boot অ্যাপ্লিকেশনের মতো কনফিগারেশন করা যায়, যেমন properties, YAML ফাইল ব্যবহার করে ডেটাবেস কনফিগারেশন, সার্ভার পোর্ট ইত্যাদি।
Spring Boot Starter এবং CLI এর মধ্যে পার্থক্য
| ফিচার | Spring Boot Starter | Spring Boot CLI |
|---|---|---|
| Purpose | একটি প্রজেক্টে প্রয়োজনীয় ডিপেনডেন্সি অটোমেটিকভাবে অন্তর্ভুক্ত করা | কমান্ড লাইন থেকে Spring অ্যাপ্লিকেশন তৈরি এবং রান করা |
| Usage | pom.xml বা build.gradle ফাইলে ডিপেনডেন্সি যুক্ত করা | Groovy স্ক্রিপ্ট ব্যবহার করে CLI তে Spring অ্যাপ্লিকেশন রান করা |
| Main Use Case | Spring অ্যাপ্লিকেশন তৈরির জন্য প্রয়োজনীয় ডিপেনডেন্সি সরবরাহ | দ্রুত Spring অ্যাপ্লিকেশন তৈরি এবং চালানোর জন্য |
| Integration with IDE | IDE তে প্রকল্প তৈরি করা হয় | CLI এর মাধ্যমে কাজ করা যায়, IDE প্রয়োজন হয় না |
সারাংশ
Spring Boot Starter এবং Spring Boot CLI দুটি গুরুত্বপূর্ণ টুল যা Spring অ্যাপ্লিকেশন তৈরি এবং পরিচালনা সহজ করে তোলে। Spring Boot Starter আপনাকে অটোমেটিক ডিপেনডেন্সি এবং কনফিগারেশন প্রদান করে, যা Spring অ্যাপ্লিকেশন দ্রুত তৈরি করার জন্য সহায়ক। অপরদিকে, Spring Boot CLI Groovy স্ক্রিপ্টিং ভাষা ব্যবহার করে দ্রুত Spring অ্যাপ্লিকেশন তৈরি এবং রান করতে সাহায্য করে। Spring Boot CLI ব্যবহার করে আপনি দ্রুত প্রটোটাইপ তৈরি করতে পারেন এবং Spring Boot Starter দিয়ে আপনার প্রজেক্টের ডিপেনডেন্সি ম্যানেজ করতে পারেন।
Read more