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.7173165965231882bean.getPi() = 3.141592653589793
bean.getName() = MyOtherBean
以上是 Java如何在Spring EL中访问静态方法或常量? 的全部内容, 来源链接: utcz.com/z/354220.html