Spring Bean এ Property Access করা

Property Access এবং Bean Access - স্প্রিং এক্সপ্রেশন ল্যাঙ্গুয়েজ (Spring Expression Language) - Java Technologies

279

SpEL এবং Spring Bean

Spring Expression Language (SpEL) ব্যবহার করে Spring Bean-এর প্রপার্টি অ্যাক্সেস করা খুবই সহজ। SpEL Spring Framework-এর মধ্যে ব্যবহৃত একটি শক্তিশালী ভাষা যা জাভা অবজেক্টের প্রপার্টি, মেথড এবং কনস্ট্রাকটর অ্যাক্সেস করতে ব্যবহৃত হয়। SpEL Spring Bean কনফিগারেশন এবং Bean-এর প্রপার্টির মধ্যে ইন্টিগ্রেশন সহজতর করে।

Spring Bean-এর প্রপার্টি অ্যাক্সেস করার জন্য SpEL সাধারণত ${} ব্যবহার করে, যা Bean-এর প্রপার্টি বা মেথড কল করার জন্য ব্যবহার করা হয়।


Spring Bean এ Property Access করা

Spring Bean এর প্রপার্টি অ্যাক্সেস করতে SpEL সাধারণত @Value এনোটেশন বা Spring কনফিগারেশন ফাইলের মধ্যে ${} ব্যবহার করে।

১. SpEL ব্যবহার করে Spring Bean এর প্রপার্টি অ্যাক্সেস

Spring Bean এর প্রপার্টি অ্যাক্সেস করতে সাধারণত SpEL এক্সপ্রেশন ব্যবহার করা হয়। নিচে একটি উদাহরণ দেওয়া হলো যেখানে Spring Bean-এর প্রপার্টি SpEL দিয়ে অ্যাক্সেস করা হয়েছে।


উদাহরণ: Spring Bean এ Property Access

Step 1: Spring Bean ক্লাস তৈরি করা

public class User {
    private String name;
    private int age;

    public User(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}

Step 2: Spring XML কনফিগারেশন ফাইলে SpEL দিয়ে Bean প্রপার্টি অ্যাক্সেস

<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
           http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">

    <!-- Spring Bean ডিফাইনেশন -->
    <bean id="user" class="com.example.User">
        <constructor-arg value="John Doe"/>
        <constructor-arg value="30"/>
    </bean>

    <!-- SpEL ব্যবহার করে User Bean এর প্রপার্টি অ্যাক্সেস -->
    <bean id="userInfo" class="java.lang.String">
        <constructor-arg value="#{user.name}"/>
    </bean>
</beans>

Step 3: Java কোডে Spring Bean থেকে প্রপার্টি অ্যাক্সেস করা

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class SpELExample {
    public static void main(String[] args) {
        // Spring Context লোড করা
        ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");

        // Bean থেকে প্রপার্টি অ্যাক্সেস করা
        User user = (User) context.getBean("user");
        System.out.println("User Name: " + user.getName()); // আউটপুট: John Doe
        System.out.println("User Age: " + user.getAge());   // আউটপুট: 30

        // SpEL এর মাধ্যমে String Bean থেকে Name প্রপার্টি অ্যাক্সেস
        String userInfo = (String) context.getBean("userInfo");
        System.out.println("User Info: " + userInfo); // আউটপুট: John Doe
    }
}

SpEL ব্যবহার করে Bean Property Access-এর ব্যাখ্যা

  1. Bean Definition: Spring Bean এর জন্য কনস্ট্রাকটর-আরগুমেন্ট দিয়ে নাম ও বয়স প্রদান করা হয়েছে।
  2. SpEL Expression: #{user.name} দিয়ে user Bean-এর name প্রপার্টি অ্যাক্সেস করা হয়েছে এবং এটি userInfo Bean এ স্ট্রিং আউটপুট হিসাবে আসবে।
  3. Context থেকে Bean Access: Spring কনটেক্সট থেকে Bean অ্যাক্সেস করে, প্রপার্টি মান গুলি আনা হয়েছে।

SpEL এবং Spring Bean এর মাধ্যমে বিভিন্ন এক্সপ্রেশন ব্যবহার করা

Spring Bean-এর প্রপার্টি অ্যাক্সেস করার সময় SpEL এক্সপ্রেশন ব্যবহার করা যায়। উদাহরণস্বরূপ:

১. Bean এর প্রপার্টি অ্যাক্সেস

<bean id="user" class="com.example.User">
    <constructor-arg value="Alice"/>
    <constructor-arg value="28"/>
</bean>

<bean id="userName" class="java.lang.String">
    <constructor-arg value="#{user.name}"/>
</bean>

২. গাণিতিক এক্সপ্রেশন

<bean id="calculation" class="java.lang.Integer">
    <constructor-arg value="#{10 + 20}"/>
</bean>

৩. মেথড কল

<bean id="userInfo" class="com.example.User">
    <constructor-arg value="#{user.getName()}"/>
</bean>

৪. কন্ডিশনাল এক্সপ্রেশন

<bean id="status" class="java.lang.String">
    <constructor-arg value="#{user.age > 25 ? 'Adult' : 'Minor'}"/>
</bean>

সারাংশ

SpEL ব্যবহার করে Spring Bean-এর প্রপার্টি অ্যাক্সেস করা যায়, যা Spring Framework-এর মধ্যে একটি শক্তিশালী এবং কার্যকরী টুল। এটি Spring Bean কনফিগারেশন ফাইলের মধ্যে ডাইনামিক এক্সপ্রেশন প্রয়োগের জন্য ব্যবহৃত হয় এবং কোডের পুনরাবৃত্তি কমিয়ে আনে। SpEL এর মাধ্যমে শুধু প্রপার্টি অ্যাক্সেসই নয়, গাণিতিক এক্সপ্রেশন, কন্ডিশনাল লজিক এবং মেথড কলও করা যায়, যা Spring অ্যাপ্লিকেশনকে আরও কার্যকরী করে তোলে।


Content added By
Promotion

Are you sure to start over?

Loading...