Java如何在Spring EL中访问静态方法或常量?

在这个例子中,您将学习如何使用Spring Expression Language访问类范围的方法或常量。要访问类范围的方法或常量T(),例如,您将需要使用Spring EL的运算符T(java.lang.Math)。该运算符将使我们能够访问给定类上的静态方法和常量。作为示例,我们可以Math.PI在Spring EL中访问like T(java.lang.Math).PI。

就像访问静态常量一样,我们也可以以相同的方式访问静态方法。例如,我们可以Math.random()像这样在Spring EL中调用该方法T(java.lang.Math).random()。

现在,让我们看看如何在spring配置文件中执行这些操作。在这种配置中,我们创建一个名为绿豆myBean具有如属性randomNumber,pi和name。

<?xml version="1.0" encoding="UTF-8"?>

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

        <property name="randomNumber" value="#{T(java.lang.Math).random()}"/>

        <property name="pi" value="#{T(java.lang.Math).PI}"/>

        <property name="name" value="#{T(org.nhooo.example.spring.el.MyOtherBean).BEAN_NAME}"/>

    </bean>

</beans>

这里是运行演示的spring配置的bean类和应用程序类。

package org.nhooo.example.spring.el;

public class MyOtherBean {

    public static final String BEAN_NAME = "MyOtherBean";

    private String randomNumber;

    private String pi;

    private String name;

    public void setRandomNumber(String randomNumber) {

        this.randomNumber = randomNumber;

    }

    public String getRandomNumber() {

        return randomNumber;

    }

    public void setPi(String pi) {

        this.pi = pi;

    }

    public String getPi() {

        return pi;

    }

    public void setName(String name) {

        this.name = name;

    }

    public String getName() {

        return name;

    }

}

package org.nhooo.example.spring.el;

import org.springframework.context.ApplicationContext;

import org.springframework.context.support.ClassPathXmlApplicationContext;

public class SpELStaticDemo {

    public static void main(String[] args) {

        ApplicationContext context =

            new ClassPathXmlApplicationContext("spring-spel-static.xml");

        MyOtherBean bean = (MyOtherBean) context.getBean("myBean");

        System.out.println("bean.getRandomNumber() = " + bean.getRandomNumber());

        System.out.println("bean.getPi()           = " + bean.getPi());

        System.out.println("bean.getName()         = " + bean.getName());

    }

}

执行程序时,您将得到以下结果作为输出:

bean.getRandomNumber() = 0.7173165965231882

bean.getPi()           = 3.141592653589793

bean.getName()         = MyOtherBean

                       

以上是 Java如何在Spring EL中访问静态方法或常量? 的全部内容, 来源链接: utcz.com/z/354220.html

回到顶部