当前位置: 首页 > news >正文

html5移动网站开发适合30岁女人的培训班

html5移动网站开发,适合30岁女人的培训班,简单建设一个网站的过程,合肥做网站怎么样SpEL 的使用 SpEL的全称为 Spring Expression Language,具有再运行时构建复杂表达式、存取对象图属性、对象方法调用等功能 下面是一个简单样例 public class SpelTest { Test public void test1() { ExpressionParser parser new SpelExpressionParser(); …

SpEL 的使用

SpEL的全称为 Spring Expression Language,具有再运行时构建复杂表达式、存取对象图属性、对象方法调用等功能

下面是一个简单样例

public class SpelTest {  @Test  public void test1() {  ExpressionParser parser = new SpelExpressionParser();  EvaluationContext context = new StandardEvaluationContext();  Expression expression = parser.parseExpression("'Hello' + ' world' + '!'");  System.out.println(expression.getValue(context));  }
}

输出:

Hello world!

可以看到,再这个例子中,表达式为'Hello' + ' world' + '!',可以看作是'Hello'' world''!'三个字符串的拼接,解析后返回Hello world!

SpEL也支持数字运算:

@Test  
public void test2() {  ExpressionParser parser = new SpelExpressionParser();  EvaluationContext context = new StandardEvaluationContext();  Expression expression = parser.parseExpression("100 + 10");  System.out.println(expression.getValue(context));  expression = parser.parseExpression("100 - 10");  System.out.println(expression.getValue(context));  expression = parser.parseExpression("100 * 10");  System.out.println(expression.getValue(context));  expression = parser.parseExpression("100 / 10");  System.out.println(expression.getValue(context));  expression = parser.parseExpression("100 > 10");  System.out.println(expression.getValue(context));  expression = parser.parseExpression("100 > 10 ? 'A' : 'B'");  System.out.println(expression.getValue(context));  
}

输出:

110
90
1000
10
true
A

此外,SpEL也可以解析方法调用,能够获取调用指定类的指定方法和属性:

@Test  
public void test3() {  UserInfo userInfo = new UserInfo();  userInfo.setUserName("AAA");  ExpressionParser parser = new SpelExpressionParser();  StandardEvaluationContext context = new StandardEvaluationContext(userInfo);  String getUserName = "getUserName";  Expression expression = parser.parseExpression(getUserName);  System.out.println(expression.getValue(context));  
}

输出:

AAA

也可以设置参数:

@Test  
public void test4() {  UserInfo userInfo = new UserInfo();  userInfo.setUserName("BBB");  ExpressionParser parser = new SpelExpressionParser();  String setUserName = "setUserName(#userName)";  StandardEvaluationContext context = new StandardEvaluationContext(userInfo);  context.setVariable("userName", "AAA");  Expression expression = parser.parseExpression(setUserName);  System.out.println(userInfo.getUserName());  
}

使用案例:
在公司实习的时候,公司组件封装了@DistributedLock注解来管理分布式锁,而锁key则是根据加锁对象类型的不同而有不同取值,但是由于注解的属性值只能是常量,不能直接等于成成员变量的值,这时候使用SpEL可以解决这问题

@DistributedLock(lockKey = "getType()")  
@Override  
public void doSomething(UserInfo userInfo) {  // ...
}

在这个例子中,他会在代理解析过程中调用被代理方法的第一个参数的指定方法,即lockKey的值,也就是userInfo.getType()来设置分布式锁的key,这样就能对加锁对象进行动态的调整

个人想法:
之前有个需求里需要根据用户的账号类型对账号的值执行不同的校验逻辑,当时想试着使用自定义校验注解实现,但是由于注解中的属性赋值不能是变量,所以无法动态获取实体类的状态类型,现在学了SpEL,可以使用SpEL的方式来实现该功能了

http://www.dt0577.cn/news/26957.html

相关文章:

  • 做免费的独立电商网站百度自动点击器
  • 网站标题符号推广注册app拿佣金
  • liferay做网站好吗搜索引擎优化课程
  • 威海建设集团网站首页微信公众号软文怎么写
  • 网站域名怎么改个人网站设计图片
  • 官方网站建设公电商关键词查询工具
  • 北京网站开发网站建设报价软文营销案例分析
  • 响应式网站模板滚动条北京全网推广
  • 可以上传图片的网站怎么做网络销售推广是做什么的具体
  • 电梯行业网站怎么做免费的关键词优化软件
  • wordpress做商城网站百度会员登录入口
  • 做复刻衣服买网站百度网站推广排名优化
  • 怎样做班级网站营销策划公司经营范围
  • 网站开发之美 pdf2024年3月新冠肺炎
  • 酒托做哪个网站好百度seo优化教程免费
  • 烟台莱山区做网站的公司推广优化厂商联系方式
  • 做网站优化推广公众号微博seo
  • wordpress收费主题免费下载seo推广的常见目的有
  • 通过wordpress建站网站站内推广怎么做
  • 网络运维与安全就业方向搜索排名优化公司
  • 一个万能的营销方案搜索优化推广公司
  • 网站浏览器不兼容怎么办网络营销典型案例
  • 沈阳网站建设机器人编程培训机构排名
  • 一个企业可以做多个网站吗如何用手机免费创建网站
  • 邯郸商标vi设计策划公司seo推广费用需要多少
  • 建设银行信用卡被钓鱼网站骗了15000知乎关键词排名工具
  • 网站优化费用怎么做会计分录微信客户管理
  • 怎么自己创建一个网站手机电话营销话术
  • 工商注册网站网站可以自己做吗
  • tp5 商城网站开发百度网站提交入口