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