在这个例子中,您将学习如何使用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"?>
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">
这里是运行演示的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