spring-el 相关问题

Spring Expression Language(简称SpEL)是一种强大的表达式语言,支持在运行时查询和操作对象图。语言语法类似于Unified EL,但提供了其他功能,最值得注意的是方法调用和基本字符串模板功能。

使用Spring EL或属性占位符动态设置@Gateway和@ServiceActivator的输入/输出通道

注解@MessagingGateway允许使用属性占位符${}设置defaultRequestChannel: @MessagingGateway(defaultRequestChannel = "${gateway.request.channel}") 公开

回答 1 投票 0

@CachePut 注解中对象变为 null

出于某种原因,我可以看到对象传递的不是空值,但在键表达式中它已经是空值了。 我正在尝试从数据库读取一些数据并将其添加到缓存中。 这是我的方法。 公共空间

回答 1 投票 0

Spring 从静态字段初始化 @Value 注解属性

有以下代码: 公共类常量{ 公共静态最终字符串X =“-”; } 而在另一个班级 @Value("${some.property:Constants.X") 私有字符串分隔符...

回答 1 投票 0

在多个键之一上缓存逐出

在我的应用程序中,我有多个具有多个键的可缓存方法: @Cacheable(cacheNames = "valueCodes", key = "{#value, #fieldId, #projectId}") @Cacheable(cacheNames = "fieldNames", key = "{...

回答 3 投票 0

SpEL 中的嵌套变量引用在 Spring-5.x 中停止工作

foo.bar 为 1,foo.foo 为 2,bar 为“foo”。以下构造: 曾经与 Spring-4 一起工作,设置...

回答 1 投票 0

Spring中@Cacheable注解如何引用Enum

我有一个 Spring Boot 项目,我想在其中对我正在处理的远程端点返回给我的结果实现缓存。但是,我不只是想缓存所有内容,而是仅在

回答 1 投票 0

Spring ~ 如何根据 Enum 值进行缓存

我有一个 Spring Boot 项目,我想在其中对我正在处理的远程端点返回给我的结果实现缓存。但是,我不只是想缓存所有内容,而是仅在

回答 1 投票 0

涉及多个bean的SpEL表达式

bean 的定义如下: bean 的定义如下: <bean id="defaultSourceMetaData" class="com.example.metadata.SourceMetaData"> <constructor-arg type="java.lang.String" value="${source.name}"/> </bean> <bean id="reconSourceMetaData" class="com.example.metadata.SourceMetaData" factory-method="extractData"> <constructor-arg index="0" value="${source.metadata.query}"/> </bean> <bean id="sourceProvider" class="com.example.file.FileSourceProvider"> <property name="sourceMetaData" value="#{ reconSourceMetaData != null ? reconSourceMetaData : defaultSourceMetaData }"/> </bean> 我们知道,reconSourceMetaData为空——因为初始化它的查询返回一个空集。但是 defaultSourceMetaData 没有被创建——并且程序失败并显示 Cannot convert value of type 'org.springframework.beans.factory.support.NullBean' to required type 'com.example.metadata.SourceMetaData' for property 'sourceMetaData': no matching editors or conversion strategy found 如果我将 SpEL 表达式替换为对默认 bean 的直接引用: <property name="sourceMetaData" ref="defaultSourceMetaData"/> defaultSourceMetaData-bean 已初始化,且属性已正确初始化。但我确实需要有条件的初始化——我使用的语法有什么问题? 感谢@m-deinum提供的提示,我明白了:使用.equals方法而不是与null进行比较。下面的表达式现在可以工作,就像之前的语法用于 Spring-4.x 一样: #{reconSourceMetaData.equals(null) ? defaultSourceMetaData : reconSourceMetaData}

回答 1 投票 0

在注释值中使用 SPEL 时需要帮助吗?

尝试了下面的SPEL表达式,但失败了。需要帮忙! @KafkaListener(topics = "#{Arrays.asList(${kafka.topic.helloworld}.split(',')).stream().map(p -> p+envSuffix).toArray(String[]::新...

回答 3 投票 0

将 spring 框架 6.0.14 升级到 6.1.6 后,此拼写表达式出现错误

这是咒语表达式: @Cacheable(值 = "缓存", key = "(#request).getToken().hashCode()", 除非=“#结果==空”) 错误:org.springframework。

回答 1 投票 0

基于 Kotlin 协程的 Spring EL 评估失败

给定一个这样的接口和实现类。 接口 MyBean{ 挂起乐趣 挂起 isEnabled(name:String): Boolean } @Service(“myBean”) @NoArg // 我创建了一个注释...

回答 1 投票 0

Spring 表达式语言(SpEL):将 String 解析为 int

我有一个以分钟为单位表示的(字符串,显然)属性,我想在进行一些算术并将其注入到我的 Spring bean 之前将其转换为 int。现在我有这个 SpEL 表达式: ...

回答 2 投票 0

Spring 集成 JMS 通道错误 - SpelEvaluationException:EL1078E

我最近将我的 Spring Boot 应用程序以及其他依赖项 jar 从 java 11 升级到了 java 17 - 升级后的 gradle jar 差异 应用程序使用 Spring 集成来消费来自 JMS 队列的消息...

回答 1 投票 0

特殊字符的拼写表达式解析问题

我正在使用 spring Spel 表达式解析器来评估逻辑表达式,但当字符串包含任何特殊字符时它会失败 这是例子 私有最终 ExpressionParser 解析器 ...

回答 1 投票 0

SPeL @PreAuthorize.hasRole:无法使用内部枚举中定义的角色

尊敬的各位专家, 我正在使用 Spring Security 来访问控制我的 REST API。作为其中的一部分,我定义了一个包含我的角色的枚举。 @Component("应用程序常量") 公共...

回答 1 投票 0

Spring EL - if else 条件

我正在尝试形成如下所示的 Spring 表达式 我正在尝试形成如下所示的 Spring 表达式 <bean id="merchantPayment2-cronTrigger" class="uk.co.xxx.batch.merchantpayment2.CronTrigger"> <property name="jobDetail" ref="merchantPayment2-jobDetail" /> <property name="cronExpression" value="#{ ${merchantPaymntRptJob.useDB}== true ? (applicationConfigurationService.merchantPaymentCronExpression) : ${merchantPaymntRptJob.cronExpression} }"/> </bean> 我的意思是,如果属性merchantPaymntRptJob.useDB为true,则使用服务从数据库获取值或使用属性文件中的值。 问题在于使用 applicationConfigurationService.merchantPaymentCronExpression 我尝试了不同的组合 - 添加 $ 、 # 或只是 () 但不起作用。你能帮忙吗? 感谢您的帮助。下面的一个现在正在工作。 #{ (${merchantPaymntRptJob.useDB}== true) ?(@applicationConfigurationService).merchantPaymentCronExpression :'${merchantPaymntRptJob.cronExpression}'}

回答 1 投票 0

如何使用 SpelExpressionParser 从 application.properties 获取值?

我尝试传递“${}”作为关键参数,但得到:“解析有效表达式后,表达式中还有更多数据:'lcurly({)'”。 有趣的是...

回答 2 投票 0

避免在 @PreAuthorize 注释中使用文字 Spring boot EL

我目前正在努力避免安全注释中的文字。原因是,在大型应用程序中,这些注释中包含文字会依赖于几个错误,同时还要重构

回答 1 投票 0

Spring Boot Webflux @PrePreAuthorize 与 SpEL 保持传递空值

Spring boot 3.2.2 + Webflux 安全 我尝试通过 ReactiveMethodSecurity 构建自定义 @PreAuthorize。 此代码检查用户对“空间”的授权 @Component(value = "SpaceAcc...

回答 1 投票 0

如何通过spel中连接ArrayList of Strings来生成字符串?

我想使用 spel 从带有特定分隔符的字符串 ArrayList 形成一个新字符串。 列表=[“a”,“b”,“c”] 我想从

回答 3 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.