Bean References এবং Bean Methods

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

402

SpEL এর মাধ্যমে Bean References

Bean References ব্যবহার করে Spring Bean কনফিগারেশন ফাইলে এক Bean-এ অন্য Bean-এর প্রপার্টি বা মেথড অ্যাক্সেস করা সম্ভব হয়। SpEL এর মাধ্যমে বিভিন্ন Bean একে অপরকে রেফারেন্স করতে পারে, যা ডাইনামিক এবং পুনঃব্যবহারযোগ্য কনফিগারেশন তৈরি করতে সাহায্য করে।

Bean References এর ব্যবহার

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


Bean References উদাহরণ

ধরা যাক, আমাদের দুটি Bean আছে: Person এবং Address। আমরা Person Bean এর মধ্যে Address Bean এর প্রপার্টি অ্যাক্সেস করতে SpEL ব্যবহার করব।

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

public class Address {
    private String city;
    private String street;

    // Constructor, Getters and Setters
    public Address(String city, String street) {
        this.city = city;
        this.street = street;
    }

    public String getCity() {
        return city;
    }

    public String getStreet() {
        return street;
    }
}
public class Person {
    private String name;
    private Address address;

    // Constructor, Getters and Setters
    public Person(String name, Address address) {
        this.name = name;
        this.address = address;
    }

    public String getName() {
        return name;
    }

    public Address getAddress() {
        return address;
    }
}

Step 2: Spring XML কনফিগারেশন ফাইল তৈরি করা

<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">

    <!-- Address Bean -->
    <bean id="address" class="com.example.Address">
        <constructor-arg value="New York"/>
        <constructor-arg value="5th Avenue"/>
    </bean>

    <!-- Person Bean referencing Address Bean -->
    <bean id="person" class="com.example.Person">
        <constructor-arg value="John Doe"/>
        <constructor-arg ref="address"/>
    </bean>

    <!-- Bean Reference to access Address city -->
    <bean id="personCity" class="java.lang.String">
        <constructor-arg value="#{person.address.city}"/>
    </bean>

</beans>

Step 3: Java কোডে SpEL Bean Reference অ্যাক্সেস করা

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 থেকে Person প্রপার্টি অ্যাক্সেস করা
        Person person = (Person) context.getBean("person");
        System.out.println("Person Name: " + person.getName()); // আউটপুট: John Doe
        System.out.println("City: " + person.getAddress().getCity()); // আউটপুট: New York

        // SpEL দিয়ে Address city অ্যাক্সেস
        String city = (String) context.getBean("personCity");
        System.out.println("Person City via SpEL: " + city); // আউটপুট: New York
    }
}

Bean Methods এবং SpEL

SpEL এর মাধ্যমে Bean-এ সংজ্ঞায়িত মেথডও কল করা সম্ভব। SpEL মেথড কল করার জন্য # চিহ্ন ব্যবহার করা হয়। Bean এর মেথড কল করার সময়, SpEL মেথডের নাম এবং প্রপার্টি ব্যবহার করে ডাইনামিক রিটার্ন মান পাওয়া যায়।


Bean Methods এর উদাহরণ

ধরা যাক, আমাদের একটি Calculator ক্লাস রয়েছে, যেটি দুইটি ইনপুট নিয়ে গাণিতিক অপারেশন সম্পাদন করে। আমরা SpEL এর মাধ্যমে এই মেথডটি কল করব।

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

public class Calculator {

    // Method to add two numbers
    public int add(int a, int b) {
        return a + b;
    }

    // Method to subtract two numbers
    public int subtract(int a, int b) {
        return a - b;
    }
}

Step 2: Spring XML কনফিগারেশন ফাইল তৈরি করা

<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">

    <!-- Calculator Bean -->
    <bean id="calculator" class="com.example.Calculator"/>

    <!-- Bean Method Call using SpEL -->
    <bean id="additionResult" class="java.lang.Integer">
        <constructor-arg value="#{calculator.add(10, 20)}"/>
    </bean>

    <bean id="subtractionResult" class="java.lang.Integer">
        <constructor-arg value="#{calculator.subtract(20, 10)}"/>
    </bean>

</beans>

Step 3: Java কোডে Bean Method কল করা

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

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

        // SpEL দিয়ে Method Call (Addition)
        int addition = (Integer) context.getBean("additionResult");
        System.out.println("Addition Result: " + addition); // আউটপুট: Addition Result: 30

        // SpEL দিয়ে Method Call (Subtraction)
        int subtraction = (Integer) context.getBean("subtractionResult");
        System.out.println("Subtraction Result: " + subtraction); // আউটপুট: Subtraction Result: 10
    }
}

SpEL দিয়ে Bean References এবং Bean Methods এর ব্যবহার

  1. Bean Reference: একটি Bean থেকে অন্য Bean-এর প্রপার্টি বা মেথড অ্যাক্সেস করার জন্য SpEL ব্যবহার করা হয়।
  2. Bean Method Call: Bean এর মেথড কল করার জন্য SpEL ব্যবহার করা হয়। এটি সাধারণত #{bean.methodName(arguments)} সিনট্যাক্সের মাধ্যমে করা হয়।
  3. SpEL এর সুবিধা: SpEL স্প্রিং কনফিগারেশন ফাইলে ডাইনামিক এক্সপ্রেশন ব্যবহার করতে সক্ষম করে, যা কোডের পুনরাবৃত্তি কমিয়ে এবং রিডেবিলিটি বাড়িয়ে দেয়।

সারাংশ

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


Content added By

Spring Expression Language (SpEL) এর মাধ্যমে Spring Bean গুলোর রেফারেন্স করতে বা তাদের অ্যাক্সেস করতে # সিম্বল ব্যবহার করা হয়। SpEL ব্যবহারের মাধ্যমে Spring কনটেইনারের মধ্যে বিদ্যমান বিভিন্ন Bean-এর মধ্যে একে অপরকে রেফারেন্স করা সম্ভব। এটি Bean Injection, Bean Method Access এবং Bean Property Access এর ক্ষেত্রে খুবই কার্যকরী হয়।

SpEL-এর মাধ্যমে Spring Bean রেফারেন্স করা সাধারণত XML কনফিগারেশন বা অ্যানোটেশন-এ ব্যবহার করা হয়, যা Spring Framework-এ ডাইনামিক ডেটা অ্যাক্সেস এবং কনফিগারেশন ইনজেকশন সহজ করে।


Spring Bean Reference করার সিনট্যাক্স

Spring Bean-এর রেফারেন্স করতে SpEL এ সাধারণত #{} সিম্বল ব্যবহার করা হয়। Bean রেফারেন্সের জন্য # সিম্বল ব্যবহার করা হয়, এবং Bean নামটি সেখানে উল্লেখ করা হয়।

#{beanName.property}

এখানে beanName হলো Spring কনটেইনারে ডিফাইন করা Bean-এর নাম এবং property হলো ওই Bean-এর প্রপার্টি যা আপনি রেফারেন্স করতে চান।


Spring Bean Reference করার উদাহরণ

১. Spring XML কনফিগারেশনে Bean Reference করা

ধরা যাক, আমাদের দুটি Bean আছে - Employee এবং EmployeeService। এখানে আমরা EmployeeService Bean-এর মধ্যে Employee Bean রেফারেন্স করব SpEL ব্যবহার করে।

Employee Bean:
@Component
public class Employee {
    private String name = "John Doe";
    
    public String getName() {
        return name;
    }
}
EmployeeService Bean:
@Component
public class EmployeeService {
    private String employeeName;

    public void setEmployeeName(String employeeName) {
        this.employeeName = employeeName;
    }

    public String getEmployeeName() {
        return employeeName;
    }
}
Spring XML কনফিগারেশন (SpEL ব্যবহার করে Bean রেফারেন্স):
<bean id="employee" class="com.example.Employee" />
<bean id="employeeService" class="com.example.EmployeeService">
    <property name="employeeName" value="#{employee.name}" />
</bean>

এখানে, employeeService Bean-এর employeeName প্রপার্টিতে employee Bean এর name প্রপার্টির মান সেট করা হয়েছে।

২. SpEL ব্যবহার করে Bean Method Call

SpEL ব্যবহার করে আপনি Bean-এর মেথডও কল করতে পারেন। নিচের উদাহরণে EmployeeService Bean-এর মধ্যে Employee Bean-এর মেথড কল করা হয়েছে।

Spring XML কনফিগারেশন (Bean Method Call):
<bean id="employee" class="com.example.Employee" />
<bean id="employeeService" class="com.example.EmployeeService">
    <property name="employeeName" value="#{employee.getName()}" />
</bean>

এখানে employeeService Bean-এ employee.getName() মেথড কল করা হচ্ছে, যাতে employee Bean-এর name প্রপার্টির মান পাওয়া যায়।


Spring Bean Reference করার অ্যানোটেশন উদাহরণ

Spring অ্যানোটেশন ব্যবহারের মাধ্যমে SpEL ব্যবহার করা যেতে পারে, যেখানে @Value অ্যানোটেশন দিয়ে Bean রেফারেন্স করা হয়।

১. Bean Method Call with SpEL using @Value Annotation:

@Component
public class EmployeeService {

    @Autowired
    private Employee employee;

    @Value("#{employee.getName()}")
    private String employeeName;

    public String getEmployeeName() {
        return employeeName;
    }
}

এখানে employee.getName() SpEL ব্যবহার করে Employee Bean-এর getName() মেথড কল করা হয়েছে।

২. Spring Bean Reference using @Value Annotation:

@Component
public class EmployeeService {

    @Autowired
    private Employee employee;

    @Value("#{employee.name}")
    private String employeeName;

    public String getEmployeeName() {
        return employeeName;
    }
}

এখানে employee.name SpEL ব্যবহার করে Employee Bean-এর name প্রপার্টি রেফারেন্স করা হয়েছে।


Spring Bean Reference এর সুবিধা

  1. ডাইনামিক কনফিগারেশন: SpEL ব্যবহার করে Spring Bean-এর প্রপার্টি এবং মেথডগুলোকে কনফিগারেশনে ডাইনামিকভাবে রেফারেন্স করা যায়।
  2. সহজ ডেটা ইনজেকশন: Spring Bean-এর মধ্যে নির্দিষ্ট প্রপার্টি বা মেথডের মান সরাসরি ইনজেক্ট করা যায়।
  3. Bean Interaction: এক Bean থেকে অন্য Bean-এর ডেটা বা মেথড অ্যাক্সেস করা সহজ হয়।

SpEL এর মাধ্যমে Bean Reference করার অন্যান্য উদাহরণ

১. Map বা Collection Reference:

<bean id="employee" class="com.example.Employee">
    <property name="name" value="John Doe"/>
</bean>

<bean id="employeeService" class="com.example.EmployeeService">
    <property name="employeeName" value="#{employee.name}"/>
</bean>

২. SpEL এবং Collection Access:

@Component
public class EmployeeService {

    @Value("#{employeeList[0].name}")
    private String firstEmployeeName;

    public String getFirstEmployeeName() {
        return firstEmployeeName;
    }
}

এখানে, employeeList নামক লিস্ট থেকে প্রথম Employee Bean-এর name রেফারেন্স করা হচ্ছে।


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


Content added By

স্প্রিং এক্সপ্রেশন ল্যাঙ্গুয়েজ (SpEL) এর মাধ্যমে স্প্রিং কনটেইনারে থাকা যেকোনো bean এর মেথড কল করা যেতে পারে। SpEL ফাংশনালিটি অত্যন্ত শক্তিশালী, যেখানে আপনি একটি Bean এর মেথডকে ডাইনামিকভাবে কল করতে পারেন এবং সেই মেথডের আউটপুট ব্যবহার করতে পারেন।


SpEL দিয়ে Bean মেথড কলের সিনট্যাক্স

স্প্রিং এক্সপ্রেশন ল্যাঙ্গুয়েজের মাধ্যমে Bean এর মেথড কল করার জন্য #beanName.methodName() সিনট্যাক্স ব্যবহার করা হয়। যদি মেথডে আর্গুমেন্ট প্রয়োজন হয়, তাহলে #beanName.methodName(arg1, arg2, ...) এর মতো ব্যবহার করা হয়।


উদাহরণ: SpEL দিয়ে Bean এর মেথড কল করা

ধরা যাক, আমাদের একটি GreetingService Bean রয়েছে, যার একটি মেথড রয়েছে যেটি নাম পাঠানোর পর একটি শুভেচ্ছা বার্তা ফেরত দেয়।

Step ১: GreetingService ক্লাস তৈরি

public class GreetingService {
    public String getGreeting(String name) {
        return "Hello, " + name + "!";
    }
}

এখানে, getGreeting মেথডটি একটি নাম আর্গুমেন্ট নিয়ে একটি শুভেচ্ছা বার্তা রিটার্ন করে।


Step ২: GreetingService Bean কনফিগার করা

স্প্রিং কনটেইনারে GreetingService Bean কনফিগার করা।

@Configuration
public class AppConfig {
    @Bean
    public GreetingService greetingService() {
        return new GreetingService();
    }
}

এখানে, GreetingService একটি স্প্রিং Bean হিসেবে কনফিগার করা হয়েছে।


Step ৩: SpEL দিয়ে Bean মেথড কল করা

স্প্রিং কনফিগারেশন ফাইল বা কোডে SpEL এর মাধ্যমে GreetingService Bean এর getGreeting() মেথড কল করা।

@Component
public class EmployeeService {
    @Value("#{greetingService.getGreeting('John')}")
    private String greetingMessage;

    public String getGreetingMessage() {
        return greetingMessage;
    }
}

এখানে, SpEL এক্সপ্রেশন #{greetingService.getGreeting('John')} স্প্রিং কনটেইনারের greetingService Bean এর getGreeting মেথড কল করে 'John' আর্গুমেন্ট পাঠাচ্ছে এবং তার আউটপুটকে greetingMessage প্রোপার্টিতে সেট করছে।


Step ৪: Bean মেথড কল এবং আউটপুট দেখানো

@Component
public class MainApp {
    @Autowired
    private EmployeeService employeeService;

    public static void main(String[] args) {
        AnnotationConfigApplicationContext context = 
            new AnnotationConfigApplicationContext(AppConfig.class);
        
        MainApp app = context.getBean(MainApp.class);
        System.out.println(app.employeeService.getGreetingMessage());  // Output: Hello, John!
        
        context.close();
    }
}

এখানে, MainApp ক্লাসে EmployeeService Bean এর মাধ্যমে greetingMessage প্রোপার্টি অ্যাক্সেস করা হচ্ছে, যা SpEL এক্সপ্রেশন ব্যবহার করে GreetingService Bean এর getGreeting() মেথডের আউটপুট দেখাবে।


SpEL দিয়ে Bean এর মেথড কলের অন্যান্য উদাহরণ

১. আর্গুমেন্টসহ মেথড কল

@Value("#{greetingService.getGreeting('Alice')}")
private String greetingMessage;

এখানে, Alice নামটি মেথডে পাঠানো হচ্ছে এবং স্প্রিং কনটেইনারের greetingService Bean এর getGreeting() মেথড থেকে "Hello, Alice!" বার্তা ফেরত আসবে।

২. মেথড কল যেটি ফলাফল হিসেবে একটি লিস্ট রিটার্ন করে

public class GreetingService {
    public List<String> getGreetings(String... names) {
        return Arrays.stream(names)
                     .map(name -> "Hello, " + name + "!")
                     .collect(Collectors.toList());
    }
}
@Value("#{greetingService.getGreetings('Alice', 'Bob')}")
private List<String> greetings;

এখানে, getGreetings() মেথডে দুটি নাম Alice এবং Bob পাঠানো হচ্ছে, এবং এটি একটি লিস্ট ফেরত দিচ্ছে যার মধ্যে "Hello, Alice!" এবং "Hello, Bob!" বার্তা থাকবে।


উপসংহার

স্প্রিং এক্সপ্রেশন ল্যাঙ্গুয়েজ (SpEL) একটি শক্তিশালী টুল যা স্প্রিং কনটেইনারে থাকা Bean এর মেথড কল এবং তাদের আউটপুট ডাইনামিকভাবে অ্যাক্সেস করতে ব্যবহৃত হয়। SpEL এর মাধ্যমে আপনি Bean এর মেথড কল করতে পারেন, মেথডের আর্গুমেন্ট পাস করতে পারেন, এবং সেই আউটপুটকে প্রোপার্টি হিসেবে সেট করতে পারেন। এটি স্প্রিং অ্যাপ্লিকেশনকে আরও ফ্লেক্সিবল এবং ডাইনামিক করে তোলে।


Content added By

Spring Expression Language (SpEL), Spring ফ্রেমওয়ার্কের একটি শক্তিশালী এক্সপ্রেশন ল্যাঙ্গুয়েজ যা Spring Beans এবং তাদের মেথডের সাথে ইন্টারঅ্যাক্ট করার জন্য ব্যবহার করা হয়। SpEL ব্যবহার করে Spring Beans-এর রেফারেন্স এবং তাদের মেথড কল করা যেতে পারে। এটি Spring কনটেক্সটের মধ্যে অবজেক্ট এবং তাদের মেথডের সাথে সহজে কাজ করার জন্য অত্যন্ত উপকারী।


Bean References in SpEL

SpEL এর মাধ্যমে Spring Bean রেফারেন্স অ্যাক্সেস করা এবং তাদের প্রপার্টি বা মেথড কল করা যেতে পারে। Spring কনটেক্সটের মধ্যে Bean রেফারেন্স ব্যবহার করতে SpEL-এ @beanName সিনট্যাক্স ব্যবহার করা হয়।

উদাহরণ:

ধরা যাক, আমাদের একটি Person ক্লাস এবং একটি GreetingService ক্লাস আছে, এবং আমাদের SpEL ব্যবহার করে এই Beans গুলির প্রপার্টি বা মেথডে অ্যাক্সেস করতে হবে।

1. Person Bean

public class Person {
    private String name;

    public Person(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }

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

    public String greet() {
        return "Hello, " + name;
    }
}

2. GreetingService Bean

public class GreetingService {
    public String getGreeting() {
        return "Good Morning!";
    }
}

3. Spring XML কনফিগারেশন

<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.xsd">

    <bean id="person" class="com.example.Person">
        <constructor-arg value="John"/>
    </bean>

    <bean id="greetingService" class="com.example.GreetingService"/>
</beans>

Bean References with SpEL in Code

এখন, SpEL ব্যবহার করে Spring Beans অ্যাক্সেস এবং তাদের মেথড কল করা হবে।

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.expression.ExpressionParser;
import org.springframework.expression.spel.standard.SpelExpressionParser;
import org.springframework.expression.spel.support.StandardEvaluationContext;

public class SpELBeanExample {
    public static void main(String[] args) {
        // Load Spring context from XML configuration
        ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");

        // Get SpEL expression parser
        ExpressionParser parser = new SpelExpressionParser();
        StandardEvaluationContext evaluationContext = new StandardEvaluationContext();
        
        // Register Spring beans for SpEL evaluation
        evaluationContext.setVariable("person", context.getBean("person"));
        evaluationContext.setVariable("greetingService", context.getBean("greetingService"));

        // Accessing Bean property and method using SpEL
        String greeting = parser.parseExpression("@person.name").getValue(evaluationContext, String.class);
        System.out.println(greeting);  // Output: John
        
        String greetingMessage = parser.parseExpression("@person.greet()").getValue(evaluationContext, String.class);
        System.out.println(greetingMessage);  // Output: Hello, John

        String morningGreeting = parser.parseExpression("@greetingService.getGreeting()").getValue(evaluationContext, String.class);
        System.out.println(morningGreeting);  // Output: Good Morning!
    }
}

SpEL ব্যাখ্যা:

  • @person.name: SpEL-এ @ চিহ্ন ব্যবহার করা হয় Bean রেফারেন্সের জন্য।
  • @person.greet(): SpEL-এ Bean মেথড কল করার জন্য () ব্যবহার করা হয়।
  • @greetingService.getGreeting(): SpEL-এ getGreeting() মেথড কল করা হয়েছে GreetingService Bean-এর জন্য।

Method Invocation in SpEL

SpEL-এ Method Invocation খুবই সাধারণ এবং গুরুত্বপূর্ণ ফিচার। Bean মেথডের মধ্যে থেকে ডেটা রিটার্ন করার জন্য SpEL ব্যবহার করা যেতে পারে।

উদাহরণ:

ধরা যাক, আমাদের একটি MathService Bean আছে যার মধ্যে একটি add মেথড আছে যা দুইটি সংখ্যার যোগফল প্রদান করে।

1. MathService Bean

public class MathService {
    public int add(int a, int b) {
        return a + b;
    }
}

2. Spring XML কনফিগারেশন

<bean id="mathService" class="com.example.MathService"/>

Method Invocation Using SpEL

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.expression.ExpressionParser;
import org.springframework.expression.spel.standard.SpelExpressionParser;
import org.springframework.expression.spel.support.StandardEvaluationContext;

public class SpELMethodInvocationExample {
    public static void main(String[] args) {
        // Load Spring context from XML configuration
        ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");

        // Get SpEL expression parser
        ExpressionParser parser = new SpelExpressionParser();
        StandardEvaluationContext evaluationContext = new StandardEvaluationContext();
        
        // Register Spring bean for SpEL evaluation
        evaluationContext.setVariable("mathService", context.getBean("mathService"));

        // Invoking the method 'add' in MathService using SpEL
        int sum = parser.parseExpression("@mathService.add(10, 20)").getValue(evaluationContext, Integer.class);
        System.out.println("Sum: " + sum);  // Output: Sum: 30
    }
}

SpEL ব্যাখ্যা:

  • @mathService.add(10, 20): SpEL-এ add মেথড কল করা হয়েছে MathService Bean এর মাধ্যমে এবং এটি দুইটি আর্গুমেন্ট (10 এবং 20) গ্রহণ করছে।

উপসংহার

Spring Expression Language (SpEL) Spring Beans এবং তাদের মেথড অ্যাক্সেস করার জন্য একটি শক্তিশালী টুল। Bean References এবং Method Invocation ব্যবহার করে আমরা Spring Beans-এর প্রপার্টি এবং মেথডকে খুব সহজে স্পেল এক্সপ্রেশনগুলির মাধ্যমে অ্যাক্সেস করতে পারি। এটি Spring অ্যাপ্লিকেশনের মধ্যে ডাইনামিক এক্সপ্রেশন লেখার ক্ষমতা প্রদান করে, যা কোডকে আরও নমনীয় এবং ব্যবহারযোগ্য করে তোলে।

Content added By
Promotion

Are you sure to start over?

Loading...