Spring Boot হল Spring ফ্রেমওয়ার্কের একটি এক্সটেনশন যা Spring অ্যাপ্লিকেশন তৈরি করা সহজ করে এবং এর কনফিগারেশন কমায়। Spring MVC হল Spring এর ওয়েব ফ্রেমওয়ার্ক যা Model-View-Controller (MVC) ডিজাইন প্যাটার্ন অনুসরণ করে। Spring Boot এবং Spring MVC একত্রে ব্যবহার করলে একটি শক্তিশালী এবং দ্রুত ডেভেলপমেন্ট প্রক্রিয়া তৈরি হয়।
Spring Boot স্বয়ংক্রিয়ভাবে Spring MVC কনফিগারেশন সরবরাহ করে, যার মাধ্যমে Spring MVC-এর সুবিধাগুলি সরাসরি ব্যবহার করা যায়। আমরা Spring Boot অ্যাপ্লিকেশন তৈরি করলেই Spring MVC-এর সমস্ত ফিচার পেয়ে যাব।
এখানে Spring Boot এবং Spring MVC Integration এর একটি উদাহরণ দেওয়া হবে, যাতে আমরা একটি সাধারন ওয়েব অ্যাপ্লিকেশন তৈরি করতে পারি।
Step 1: Spring Boot স্টার্টার প্যাকেজ যোগ করা
প্রথমে, আপনি Spring Boot অ্যাপ্লিকেশন তৈরি করার জন্য Spring Boot Starter Web ডিপেনডেন্সি যোগ করবেন।
Maven Dependency:
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
এটি Spring MVC এর জন্য প্রয়োজনীয় সমস্ত ডিপেনডেন্সি প্রদান করবে, যেমন Spring Web এবং Tomcat।
Step 2: Spring Boot অ্যাপ্লিকেশন তৈরি করা
Spring Boot অ্যাপ্লিকেশন শুরু করতে, একটি Main Application Class তৈরি করতে হবে যেখানে @SpringBootApplication অ্যানোটেশন থাকবে, যা Spring Boot অ্যাপ্লিকেশন রান করার জন্য ব্যবহৃত হয়।
Main Application Class (Spring Boot):
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class SpringMvcApplication {
public static void main(String[] args) {
SpringApplication.run(SpringMvcApplication.class, args);
}
}
Explanation:
@SpringBootApplication: এটি Spring Boot এর মূল অ্যানোটেশন যা@Configuration,@EnableAutoConfiguration, এবং@ComponentScanএর সমন্বয়।SpringApplication.run(...): এটি Spring Boot অ্যাপ্লিকেশন শুরু করার জন্য ব্যবহৃত হয়।
Step 3: Spring MVC Controller তৈরি করা
Spring MVC Controller ব্যবহার করা হয় ক্লায়েন্টের রিকোয়েস্ট হ্যান্ডল করার জন্য। Spring Boot এবং Spring MVC একসাথে কাজ করলে, আপনি @Controller বা @RestController অ্যানোটেশন ব্যবহার করতে পারবেন।
Controller Class উদাহরণ:
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
@Controller
public class HomeController {
@GetMapping("/")
public String home(Model model) {
model.addAttribute("message", "Welcome to Spring Boot and Spring MVC!");
return "home"; // View name
}
}
Explanation:
@Controller: এই অ্যানোটেশন দিয়ে আমরা Spring MVC Controller তৈরি করি, যা HTTP রিকোয়েস্ট হ্যান্ডল করতে ব্যবহৃত হবে।@GetMapping("/"): এই মেথডটি GET রিকোয়েস্টের জন্য/URL পাথ ম্যাপ করবে।model.addAttribute("message", "Welcome..."):modelঅবজেক্টের মাধ্যমে message অ্যাট্রিবিউট View এ পাঠানো হচ্ছে।return "home";: এই লাইনটি বলে যে View নাম"home"হবে, যা রেন্ডার করা হবে।
Step 4: View (JSP বা Thymeleaf)
Spring Boot-এর ডিফল্ট ভিউ প্রযুক্তি হল Thymeleaf, তবে আপনি JSP ব্যবহারও করতে পারেন। এখানে Thymeleaf ব্যবহার করে একটি ভিউ তৈরি করা হচ্ছে।
home.html (Thymeleaf Example):
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<title>Spring MVC with Spring Boot</title>
</head>
<body>
<h1 th:text="${message}"></h1>
</body>
</html>
Explanation:
<h1 th:text="${message}"></h1>: Thymeleaf টেমপ্লেট ইঞ্জিনের মাধ্যমেmodel.addAttribute("message", "Welcome...")এর মান ভিউতে প্রদর্শিত হবে।
Step 5: Application Properties
Spring Boot অ্যাপ্লিকেশনে application.properties বা application.yml ফাইল ব্যবহার করে কনফিগারেশন করা যায়। এখানে Thymeleaf টেমপ্লেটের জন্য কনফিগারেশন করা হচ্ছে।
application.properties:
spring.mvc.view.prefix=/WEB-INF/views/
spring.mvc.view.suffix=.html
Explanation:
spring.mvc.view.prefix: Spring MVC কে বলে দেয় কোথায় View ফাইলগুলো থাকবে।spring.mvc.view.suffix: Spring MVC কে বলে দেয় View ফাইলের এক্সটেনশন কী হবে (এখানে.htmlফাইল ব্যবহার করা হচ্ছে)।
Step 6: Running the Application
Spring Boot অ্যাপ্লিকেশন রান করার জন্য, আপনি main() মেথড থেকে SpringApplication.run(SpringMvcApplication.class, args) কল করতে পারেন। অ্যাপ্লিকেশন চালানোর পর, আপনার ওয়েব অ্যাপ্লিকেশন রান করবে এবং আপনি http://localhost:8080 URL এ ব্রাউজার দিয়ে অ্যাপ্লিকেশনটি দেখতে পাবেন।
Step 7: Testing
- Run the Spring Boot Application: আপনার
SpringMvcApplicationক্লাস চালু করুন। - Open the Browser: ব্রাউজারে গিয়ে
http://localhost:8080/এ রিকোয়েস্ট পাঠান। - View the Response: আপনি "Welcome to Spring Boot and Spring MVC!" মেসেজটি দেখতে পাবেন।
Step 8: Spring Boot এবং Spring MVC এর একত্রে অন্যান্য বৈশিষ্ট্য
- Form Handling (POST Request):
- আপনি Spring MVC তে Form Handling এবং POST রিকোয়েস্ট ব্যবহার করতে পারেন। Spring Boot এর সাথে এই কনফিগারেশন সহজে করা যায়।
@ModelAttributeএবং@RequestMappingব্যবহৃত হতে পারে।
- Exception Handling:
- Spring Boot এবং Spring MVC এর Exception Handling সহজভাবে
@ControllerAdviceবা@ExceptionHandlerএর মাধ্যমে কনফিগার করা যায়।
- Spring Boot এবং Spring MVC এর Exception Handling সহজভাবে
- RESTful Web Services:
- Spring Boot এবং Spring MVC একত্রে ব্যবহার করে RESTful API তৈরি করতে পারেন।
@RestControllerএবং@RequestMappingএর মাধ্যমে API তৈরি করা যায়।
- Spring Boot এবং Spring MVC একত্রে ব্যবহার করে RESTful API তৈরি করতে পারেন।
Conclusion
Spring Boot এবং Spring MVC একত্রে কাজ করলে আপনি সহজে এবং দ্রুত ওয়েব অ্যাপ্লিকেশন তৈরি করতে পারেন। Spring Boot স্বয়ংক্রিয়ভাবে Spring MVC কনফিগারেশন সম্পাদন করে, তাই অ্যাপ্লিকেশন তৈরি করার সময় খুব কম কনফিগারেশন প্রয়োজন হয়। আপনি বিভিন্ন ধরনের Model, View, Controller কনফিগারেশন ছাড়াও, REST API, Form Handling, এবং Exception Handling সহজে ইন্টিগ্রেট করতে পারবেন।
Read more