Spring Framework হল একটি শক্তিশালী এবং বিস্তৃত জাভা ফ্রেমওয়ার্ক যা ডেভেলপারদের অ্যাপ্লিকেশন তৈরি করতে সাহায্য করে। এটি Dependency Injection (DI), Aspect-Oriented Programming (AOP), Transaction Management, এবং Spring MVC এর মতো সুবিধা প্রদান করে। Spring ফ্রেমওয়ার্ক ব্যবহার করে, আপনি সহজে এবং স্কেলেবল অ্যাপ্লিকেশন তৈরি করতে পারেন।
এই উদাহরণে, আমরা একটি সহজ Hello World প্রোগ্রাম তৈরি করব যা Spring Core ফিচার ব্যবহার করে একটি বেসিক Spring Bean ইন্সট্যান্স তৈরি করবে এবং সেটি প্রিন্ট করবে।
1. Spring Framework প্রজেক্ট তৈরি করা
Spring Framework ব্যবহার করতে হলে, প্রথমে আপনাকে প্রজেক্টের জন্য Spring Context ডিপেনডেন্সি প্রয়োজন হবে। আমরা এখানে Maven ব্যবহার করে Spring প্রজেক্ট সেটআপ করব।
1.1 Maven ডিপেনডেন্সি
Spring Core ফিচার ব্যবহার করতে নিচের ডিপেনডেন্সি আপনার pom.xml ফাইলে যোগ করতে হবে:
<dependencies>
<!-- Spring Context for Dependency Injection -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.3.21</version> <!-- Use the latest version -->
</dependency>
<!-- SLF4J Logger for logging -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.32</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>1.7.32</version>
</dependency>
</dependencies>
এখানে, spring-context Spring Core এর জন্য, যা Dependency Injection (DI) এবং ApplicationContext এর মাধ্যমে Spring Bean তৈরি এবং ব্যবস্থাপনা করতে সাহায্য করে।
2. Hello World Example
এখন আমরা একটি HelloWorld Spring অ্যাপ্লিকেশন তৈরি করব, যেখানে একটি Spring Bean ব্যবহার করা হবে এবং এটি Spring Context এর মাধ্যমে ম্যানেজ করা হবে।
2.1 Spring Bean তৈরি করা
প্রথমে একটি HelloWorldService ক্লাস তৈরি করা হবে, যেটি একটি Spring Bean হবে।
package com.example;
public class HelloWorldService {
private String message;
// Setter for message
public void setMessage(String message) {
this.message = message;
}
// Method to print message
public void printMessage() {
System.out.println("Message: " + message);
}
}
এখানে:
- setMessage() মেথডটি Spring Context দ্বারা message প্রপার্টি সেট করতে ব্যবহৃত হবে।
- printMessage() মেথডটি প্রিন্ট করবে message কন্টেন্ট।
2.2 Spring Configuration Class
Spring ফ্রেমওয়ার্কের মধ্যে, আপনি Spring Beans এবং তাদের কনফিগারেশন নির্ধারণ করার জন্য একটি কনফিগারেশন ক্লাস তৈরি করবেন। এটি Spring IoC (Inversion of Control) কনটেইনার দ্বারা ব্যবস্থাপিত হবে।
package com.example;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class AppConfig {
@Bean
public HelloWorldService helloWorldService() {
HelloWorldService service = new HelloWorldService();
service.setMessage("Hello, Spring World!");
return service;
}
}
এখানে:
- @Configuration: এই অ্যানোটেশনটি Spring কনফিগারেশন ক্লাসকে চিহ্নিত করে।
- @Bean: এই অ্যানোটেশনটি Spring কনটেইনারের মধ্যে একটি Bean তৈরি করে।
helloWorldService()মেথডটি একটি HelloWorldService অবজেক্ট তৈরি করে এবং সেটি Spring কনটেইনারে রেজিস্টার করে।
2.3 Spring Application Class
এখন, একটি Main Application ক্লাস তৈরি করতে হবে যেখানে Spring ApplicationContext লোড হবে এবং HelloWorldService Bean কল করা হবে।
package com.example;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
public class SpringHelloWorldApp {
public static void main(String[] args) {
// Initialize the Spring container
AnnotationConfigApplicationContext context =
new AnnotationConfigApplicationContext(AppConfig.class);
// Get the HelloWorldService bean
HelloWorldService service = context.getBean(HelloWorldService.class);
// Call the method to print message
service.printMessage();
// Close the context
context.close();
}
}
এখানে:
- AnnotationConfigApplicationContext: এটি Spring কনটেইনার লোড করতে ব্যবহৃত হয়। আমরা AppConfig.class পাস করি, যাতে Spring কনটেইনার এই কনফিগারেশন ক্লাসের Bean গুলি লোড করে।
- context.getBean(): এটি Spring Context থেকে
HelloWorldServiceBean রিটার্ন করবে। - context.close(): Spring কনটেইনার বন্ধ করার জন্য এটি ব্যবহৃত হয়।
3. প্রজেক্ট চালানো
এখন আপনার SpringHelloWorldApp ক্লাস রান করলে, Spring AOP এবং Dependency Injection (DI) এর মাধ্যমে HelloWorldService Bean এর মাধ্যমে লগিং কাজ করবে এবং মেসেজটি কনসোলে প্রিন্ট হবে।
3.1 আউটপুট:
Message: Hello, Spring World!
এখানে, HelloWorldService Bean এর মাধ্যমে মেসেজটি প্রিন্ট করা হচ্ছে যা Spring IoC কনটেইনারের মাধ্যমে ইনজেক্ট হয়েছে।
4. সারাংশ
Spring Framework ব্যবহার করে একটি সহজ Hello World প্রোগ্রাম তৈরি করা হয়েছে। এখানে, Spring Dependency Injection (DI) ব্যবহার করা হয়েছে, যেখানে Spring Context একটি HelloWorldService Bean তৈরি এবং ম্যানেজ করেছে। @Configuration এবং @Bean অ্যানোটেশন ব্যবহার করে Spring কনটেইনারে Bean কনফিগারেশন করা হয়েছে এবং AnnotationConfigApplicationContext ব্যবহার করে অ্যাপ্লিকেশন কনটেইনার লোড করা হয়েছে।
এটি Spring Framework এর মূল ধারণাগুলোর একটি সহজ উদাহরণ এবং প্রাথমিক স্তরের Spring অ্যাপ্লিকেশন তৈরির জন্য একটি আদর্শ পদ্ধতি।
Read more