问题标签 [spring-el]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Spring Expression Language (SpEL) 中的 Elvis 运算符
我在 SpEL 中使用 elvis 运算符看到了一些奇怪的行为。如果我没有将 elvis 表达式括在括号“()”中,则返回 elvis 运算符的结果,并忽略表达式的其余部分。显示以下行为的示例代码:
输出:
奇怪的是,当值不在 hashmap 中时(即注释 fact.put 行),elvis 运算符似乎工作正常,并且两个表达式都按预期返回 false。
(使用spring-framework-3.0.5)
java - Spring:在 ID 中使用命名空间的 bean 与 SPeL 冲突
Dhanji 在他关于 Dependnecy Injection 的书中鼓励在命名 spring bean 时使用命名空间。
书中的引语:
我还强烈鼓励使用命名空间,例如“set.BinaryTree”和“set.HashTable”,它们比“binaryTreeSet”和“hashTableSet”更易于阅读和理解。命名空间对于您的键空间来说是一种更优雅、更自然的命名法,并且比分组的大写单词字符串更具可读性。
现在这听起来很合理。但从SPeL 开始,冲突就出现了。Ozzy 曾经在黑色安息日演奏,所以对于每个乐队成员,我会在 bean 名称中使用bs命名空间,如下所示:
现在我有其他黑色安息日成员,他们将使用 SpEL 为歌曲名称注入价值。ozzy 播放的任何歌曲也将播放我的新成员(比如说托尼):
}
现在我会得到的是......
现在呢?是否有某种方法可以将文本转义为“这是 bean 名称并且不将其评估为属性”?
笔记:
- 代码示例的灵感来自 Dhanji 的书。
- 我承认 - 我还没有阅读 SpEL 的整个文档,也许解决方案要简单得多
spring-transactions - 我可以将@transactional 属性注入注解吗?
我有在 Spring 上下文文件中定义的服务,我们正在使用 EL 注入事务属性:
我有一些使用@Service
注释定义的服务。是否可以注入类似于我们在 xml 文件中执行的方式的属性,语法是什么?IE:
xml - Spring Expression Language 的 Eclipse 格式
在 Eclipse 3.7 中格式化 spring bean xml 文件时,格式化程序可以在 spring 表达式语言值的中间换行。例如,
这个块可能最终看起来像
这成为无效的 Spring EL 表达式。
有没有办法选择性地排除这个?或者防止格式化程序这样做?如果我无法格式化文件,那么使用 Spring EL 会很痛苦。
spring - SpEL 无法处理“é”?
我是法国人,所以我在我的代码中加入了一些é è ê ô û 。(而且我的英语不太好)。
我在课堂上有这样的方法Formulaires
:
在配置 spring xml 文件中,我尝试:
但是春天说:
如果我放 e 而不是 é 一切都很好。
关于口音有一些SpEL限制吗?
我使用弹簧 3.0.5。
谢谢。
spring - 将xml id的值注入spring bean
我很好奇是否有人知道实现我目标的快速方法。我想将 id 的值注入到我的 spring bean 上的 String 中。
简而言之,这就是我想要的:
我需要这个的原因是我们有很多在我们的 spring xml 中配置的对象,我还需要在数据库中管理这些对象。Spring id 是我可以使用的方便键。我不想注入所有对象,因为我已经将它们全部抽象化了,我可以优雅地让 Abstract 类设置 ID。也就是说,如果这有效。谢谢-马特
spring - Bean 定义文件中的 spEL:如何获取内联列表中的值?
给定属性文件中的内联列表:
从 bean 定义文件中,我想总是提取列表中的第一项。在这种情况下,我会提取“约翰”。
使用 Spring Framework 3.0.4.RELEASE,我的 bean 属性如下所示:
这显然给了我整个清单。
我尝试使用以下内容获取名称列表中的第一项,但遇到错误:
错误是:
BeanExpressionException:Exception parsing failed: 解析有效表达式后,表达式中还有更多数据:'comma(,)'
我查看了“Spring In Action”一书,并查看了 Springs 网站上的 Spring spEL 文档。我也google了很多。不幸的是,大多数代码示例都是在代码中完成的,而不是在 spring 定义文件中。对此的任何帮助将不胜感激。
caching - Spring.Caching.AspNetCache - 基于 ReturnValue 的条件 - Spring 表达式语言中的条件
我将缓存方面与 ASP.NET 缓存一起使用。我需要根据 ReturnValue 创建条件。
我简化了我的问题。我在返回简单 POCO 对象的方法上使用 CacheResult 方面。
这是定义:
我需要为缓存创建条件 - 仅当 MyResponse.MyData.Lenght 大于批处理限制时才缓存结果。
我尝试了这个条件定义:
我收到了这个错误:
无法为指定的上下文 [Sample.MyResponse] 解析“MyResponse”节点。
所以我尝试了第二个版本:
完成错误:
我谷歌它我可以使用 ReturnValue
这样的关键字:
但我不知道如何访问MyResponse.MyData.Length
.
spring - propertyPlaceHolderConfigurer 和环境变量
我正在尝试从环境变量加载属性文件,所以这是我尝试的:
我有一个名为的新环境变量My_ENV_VAR=C:\Program Files\My Folder\props.properties
,但是在停止和启动应用程序时,变量的值没有设置,有什么想法吗?
更新:要求
我想从文件系统上的外部属性文件中读取applicationContext.xml中的休眠属性(url、用户名、密码) ,其路径存储在环境变量中。
spring - 数组方法参数的 Spring 表达式语言 (SpEL)
我有一个 Spring Integration 项目,我试图在 bean 上调用一个将String
对象和Class
对象作为参数的方法。我想传递给它的类对象是,Long[].class
但我不知道正确的语法。我尝试了以下各种组合但无济于事:
现在我只是将调用包装在另一个 java 类中(对Class
类型进行硬编码)并通过 SpEL 调用它。数组类参数的正确语法是什么?