`

spring expression language(SEL)

 
阅读更多

User.java

package com.test.spring.model;

public class User {
	private String username;
	private String password;

	public String getUsername() {
		return username;
	}

	public void setUsername(String username) {
		this.username = username;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}
}

 

测试类

SpELTest_Simple.java

package com.test.spring.spel;

import org.junit.Test;
import org.springframework.expression.EvaluationContext;
import org.springframework.expression.Expression;
import org.springframework.expression.ExpressionParser;
import org.springframework.expression.spel.standard.SpelExpressionParser;
import org.springframework.expression.spel.support.StandardEvaluationContext;

import com.test.spring.model.User;

public class SpELTest_Simple {
	@Test
	public void test01() {
		ExpressionParser parser = new SpelExpressionParser();
		Expression exp = parser.parseExpression("'Hello,World'");
		System.out.println((String)exp.getValue());
	}
	
	@Test
	public void test02() {
		
		User u = new User();
		u.setUsername("zhangsan");
		
		EvaluationContext context = new StandardEvaluationContext(u);
		
		ExpressionParser parser = new SpelExpressionParser();
		Expression exp = parser.parseExpression("username"); //u.getUsername()
		System.out.println((String)exp.getValue(context));
		System.out.println((String)exp.getValue(u));
	}
	
	//eval("alert('ok');");
}

 

运行结果:

Hello,World

zhangsan

zhangsan

MyBean.java

package com.test.spring.spel;

public class MyBean {
	private double randomNumber;
	private String userRegion;
	public double getRandomNumber() {
		return randomNumber;
	}
	public void setRandomNumber(double randomNumber) {
		this.randomNumber = randomNumber;
	}
	public String getUserRegion() {
		return userRegion;
	}
	public void setUserRegion(String userRegion) {
		this.userRegion = userRegion;
		//System.getProperty("user.country");
	}
	
}

 

beans.xml

<?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" class="com.test.spring.spel.MyBean">
		<property name="randomNumber" value="#{T(java.lang.Math).random() * 100}"></property>
		<property name="userRegion" value="#{systemProperties['user.country']}"></property>
	</bean>

</beans>

 

测试类

SpELTest.java

package com.test.spring.spel;

import javax.annotation.Resource;

import org.junit.Test;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.AbstractJUnit4SpringContextTests;

@ContextConfiguration("classpath:beans.xml")
public class SpELTest extends AbstractJUnit4SpringContextTests {

	private MyBean myBean;

	public MyBean getMyBean() {
		return myBean;
	}

	@Resource(name = "myBean")
	public void setMyBean(MyBean myBean) {
		this.myBean = myBean;
	}

	@Test
	public void test01() {
		System.out.println(myBean.getRandomNumber());
		System.out.println(myBean.getUserRegion());
	}

}

 

运行结果:

89.28062809767297

CN

 

分享到:
评论

相关推荐

    SEL351A,SEL749,SEL587,SEL387中文资料

    SEL351A,SEL749,SEL587,SEL387中文资料

    X-Sel编程软件

    IAI X-Sel 机械手编程软件,可以编写IAIX_SEL控制器

    Unix sel4 微内核源码

    seL4是世界上最小的内核之一。但是seL4的性能可以与当今性能最好的微内核相比。 作为微内核,seL4为应用程序提供少量的服务,如创建和管理虚拟内存地址空间的抽象,线程和进程间通信IPC。这么少的服务靠8700行C代码...

    x-sel中文版

    x-sel中文版

    sel4.0.8.pdf

    seL4内核参考手册中文翻译,主要依据原版本11.0.0(2019年11月20日),对截止当前(2020年4月7日)的内核树少量变动也作了同步更新。在对照源码的基础上力求搬运地清楚准确。

    seL4-manual-latest.pdf

    微内核白皮书、sel4微内核白皮书、seL4-whitepaper.pdf

    IAI-SEL编程指令

    7. SEL语言的构造 SEL语言分别有,位置部位(位置数据=坐标值,其它)与命令部位(应用程序)。

    IAI-X-SEL软件资料大全.rar

    IAI-X-SEL-CHINESS伺服使用文档;中文官方光盘资料;含通讯,IO,指令详细说明

    X-SEL V7.02.09.00

    IAI电缸编程软件X-SEL V7.02.09.00

    sel551-定值清单

    sel551-定值清单

    SEL351中文说明书

    SEL-351继电器是一种集保护、监视、控制和故障定位于一体的保护装置。它的保护功能包括过电流、低电压/过电压、低频率/过频率,另外还有相、接地、中性点保护以及方向元件。其中还有完整的一套增强型自动化功能,...

    IAI X-sel机械手软件,通讯,说明书

    IAI X-sel机械手软件,通讯,说明书 ,数据线驱动等

    sel4.0.9.pdf

    《seL4内核参考手册》 4.0.9 中文 原文重要信息 1.2 第1章 简介 1.3 第2章 内核服务和对象 1.4 第2.1节 基于能力的访问控制 1.4.1 第2.2节 系统调用 1.4.2 第2.3节 内核对象 1.4.3 第2.4节 内核内存分配 1.4.4 2.4.1...

    IAI X-SEL 控制器说明书

    IAI X-SEL 控制器使用说明书, 可以快速掌握IAI X-SEL 的操作指令, 使用方法, 故障处理等等技术.

    sel501说明书

    sel501中文说明书,详细的版本,非常实用,

    SEL-551中文手册

    SEL-551中文版使用手册,Word格式,可自行编辑

    SEL-E/G Programming Manual.pdf

    SEL-E/G Programming Manualpdf,SEL-E/G Programming Manual

    seL4系统论文

    本文描述了seL4实时系能的基本测试。文中详细分析了中断响应时间、进程间切换的测试。

    sel系列控制器应用指导书

    sel控制器SOP作业指导书介绍了相关控制器的编程方法,以及接线、程序命令、故障RESET等诸多功能。

Global site tag (gtag.js) - Google Analytics