当前位置: 首页 > 知识库问答 >
问题:

如何在groovy中使用Spring表达式语言(SpEL)?(每个spring调度器crontab)

颛孙信厚
2023-03-14

问题

如何在groovy Spring Boot项目中定义Spring表达式语言(SpEL)?(每个Spring调度器crontab@调度注释)

Spring Boot Groovy和Spring EL调度器

根据来自web的文档,我正在groovy spring boot应用程序(2.2.x)中使用spring scheduler

根据这篇文章:任务调度使用cron表达式从属性文件

试过这个

我试着定义我的cron表达式,如下所示:

@Scheduled(cron = "${appConfig.defaultCron}")

@Scheduled(cron = "#{appConfig.defaultCron}")

但是,请记住这个错误:

属性cron应该具有类型java.lang.String;但在@org.springframework.scheduling.annotation.Sched结构性中找到类型java.lang.对象

分析

spring的“cron cruncher”似乎将“${xxx}”视为一个Gstring,而不是字符串

问题

我如何让SpringEL工作在cron定义在groovySpring启动项目?

工具书类https://www.baeldung.com/spring-scheduled-tasks

https://www.baeldung.com/spring-expression-language

从Spring启动应用程序中注入@Scheduled fixedRate值。yml文件

共有1个答案

袁智明
2023-03-14

正当尝试跳出Groovy$操作符(就像这样)。因此,它在编译后作为常规符号出现在Java中。因此Spring最终将能够解决这个问题:

@Scheduled(cron = "\${appConfig.defaultCron}")
 类似资料:
  • 主要内容:示例,SpEL对Bean定义的支持,SpEL中的运算符,SpEL中的变量Spring Expression Language(简称 SpEL)是一种功能强大的表达式语言,支持运行时查询和操作对象图 。表达式语言一般是用最简单的形式完成最主要的工作,以此减少工作量。 Java 有许多可用的表达式语言,例如 JSP EL,OGNL,MVEL 和 JBoss EL,SpEL 语法类似于 JSP EL,功能类似于 Struts2 中的 OGNL,能在运行时构建复杂表达式、存取

  • 问题内容: 与何时使用相比,我有点困惑。Spring的文档仅使用,但是有许多使用示例。此外,当我开始使用SpEL时,我被告知要使用它,并且效果很好。 对于那些感到困惑的人来说,我将如何使用它 和一些属性文件: 我的问题是: 有什么区别或相同? 一个版本被弃用了,所以我应该使用另一个版本吗? 问题答案: 是属性占位符语法。它只能用于取消引用属性。 是SpEL语法,它的功能和复杂性要高得多。它也可以处

  • 5.3 SpEL语法 5.3.1 基本表达式 一、字面量表达式: SpEL支持的字面量包括:字符串、数字类型(int、long、float、double)、布尔类型、null类型。 类型 示例 字符串 String str1 = parser.parseExpression("'Hello World!'").getValue(String.class);String str2 = parser.

  • 无法将属性“Item”的类型[java.lang.String]的属性值转换为所需的类型[com.spring.first.Item];嵌套异常为java.lang.IllegalArgumentException:无法将属性“Item”的类型[java.lang.String]的值转换为所需的类型[com.spring.first.Item]:未找到匹配的编辑器或转换策略 server.java

  • 本文章将介绍Thymeleaf Spring表达式语法中的概念。 Spring Expression Language(简称SpEL)是一种强大的表达式语言,支持在运行时查询和操作对象图。 语言语法类似于Unified EL,但提供了额外的功能,特别是方法调用和基本的字符串模板功能。 Spring表达式语言的创建旨在为Spring社区提供单一支持的表达式语言。 它的语言特性是由Spring项目中的