前言
学习占位符的使用。
一、代码部分
package test;
import org.springframework.expression.Expression;
import org.springframework.expression.ExpressionParser;
import org.springframework.expression.common.TemplateParserContext;
import org.springframework.expression.spel.standard.SpelExpressionParser;
import java.util.HashMap;
import java.util.Map;
/**
* Create by zjg on 2023/7/16
*/
public class SpelTest {
/**
* 学习占位符的使用,框架中最常见的就是log4j和mybatis
* @param args
*/
public static void main(String[] args) {
//todo String.format
String log="这是一条日志记录,需要记录不同的异常信息%s";
System.out.println(String.format(log,"NullPointException"));
//todo spel
String message="这是一个公司信息详情信息页,公司名称:#{[companyName]},公司法人:#{[legalPerson]},公司电话:#{[companyTel]},公司地址:#{[companyAddress]}";
ExpressionParser expressionParser=new SpelExpressionParser();
TemplateParserContext templateParserContext=new TemplateParserContext();
Expression expression = expressionParser.parseExpression(message,templateParserContext);
//模拟数据
Map<String,String> map=new HashMap<>();
map.put("companyName","特斯拉(上海)有限公司");
map.put("legalPerson","马斯克");
map.put("companyTel","123456");
map.put("companyAddress","中国(上海)自由贸易试验区临港新片区江山路5000号");
String value = expression.getValue(map, String.class);
System.out.println(value);
}
}
二、运行结果
这是一条日志记录,需要记录不同的异常信息NullPointException
这是一个公司信息详情信息页,公司名称:特斯拉(上海)有限公司,公司法人:马斯克,公司电话:123456,公司地址:中国(上海)自由贸易试验区临港新片区江山路5000号