Java如何使用Spring EL调用静态方法?
在此示例中,您将学习如何使用SpringEL调用静态方法。T()SpringEL的运算符可用于调用静态方法。首先,创建以下类NumberGenerator。此类具有单个属性randomNumber和getter/setter方法。
package org.nhooo.example.spring.el;
public class NumberGenerator {
private int randomNumber;
public int getRandomNumber() {
return randomNumber;
}
public void setRandomNumber(int randomNumber) {
this.randomNumber = randomNumber;
}
}现在,创建以下spring配置文件并将其保存在名为的文件中SpELStatic.xml。在此配置中,我们注册了一个名为beantype的beanNumberGenerator。我们randomNumber使用java.lang.Math.random()静态方法产生的值设置其属性。为了调用静态方法,我们使用T()例如SpringEL运算符#{T(java.lang.Math).random()}。
<?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="bean">
<property name="randomNumber"
value="#{T(java.lang.Math).random() * 100 + 1}"/>
</bean>
</beans>下面的程序加载spring配置并获取NumberGeneratorbean以创建randon编号。
package org.nhooo.example.spring.el;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class StaticELDemo {
public static void main(String[] args) {
ApplicationContext context =
new ClassPathXmlApplicationContext("spel-static.xml");
NumberGenerator number = (NumberGenerator) context.getBean("bean");
System.out.println("Random number: " + number.getRandomNumber());
}
}运行该程序时可能会得到的示例结果:
Random number: 33