SPEL表达式个性应用

文章展示了SPEL表达式在Java中的应用,包括获取当前时间戳、格式化日期、生成随机字符串以及从Map中提取数据和解密Base64编码。示例详细解释了如何使用SPEL进行这些操作。
SPEL表达式应用

SPEL表达式解析

val parser = new SpelExpressionParser();
val context = new StandardEvaluationContext();
String spelExpre ="表达式";
String value = parser.parseExpression(spelExpre).getValue(context, String.class);

1.获取当前时间的时间搓毫秒/秒级(表达式)

T(System).currentTimeMillis()/1000l

-- 输出: 1679638520000/1679638520

2.获取当前时间且具备格式的字符串(表达式)

T(java.time.LocalDateTime).now().format(T(java.time.format.DateTimeFormatter).ofPattern("yyyy-MM-dd HH:mm:ss"))

-- 输出: 2023-03-24 13:59:45

3.获取随机字符串(表达式)

T(cn.hutool.core.util.RandomUtil).randomString(32)

T(org.apache.commons.lang.RandomStringUtils).randomAlphabetic(32)

T(java.util.UUID).randomUUID().toString().replace("-","")

-- 输出:
-- bjttslb17i9boc08bn02ofi9u1p4zu4i
-- idcSWTvOhxJRDiXGLEIMIYNZRVMQHxCu
-- c27dd0a81b7142bbb7d5347bbfd5bb7b

4.SPEL表达式个性应用

Map<String, Object> map= new HashMap<>();
map.put("time","2023-03-24 13:59:45");
map.put("randomUUID","bjttslb17i9boc08bn02ofi9u1p4zu4i");
// 表达式
String spelExpre ="#map[time]+'---------'+#map[randomUUID]";

val parser = new SpelExpressionParser();
val context = new StandardEvaluationContext();
// 填充context数据
context.setVariable("map",map);

String value = parser.parseExpression(spelExpre).getValue(context, String.class);

-- 输出:2023-03-24 13:59:45---------bjttslb17i9boc08bn02ofi9u1p4zu4i

5.SPEL表达式解密Base64应用

String param = "MTIzMzIxQUFB";   //--123321AAA  base64加密
val parser = new SpelExpressionParser();
val context = new StandardEvaluationContext();

String spelExpre ="new String(T(java.util.Base64).getDecoder().decode(\""+param+"\"))";
String value = parser.parseExpression(spelExpre).getValue(context, String.class);
-- 输出: 123321AAA
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值