问题标签 [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.

0 投票
4 回答
52921 浏览

spring - 带有@Value 的 Spring 表达式语言 (SpEL):美元与哈希($ 与 #)

${...}#{...}. _ Spring 的文档只使用了#{...},但是有很多使用${...}. 此外,当我开始使用 SpEL 时,我被告知要使用${...}它并且效果很好。

对于那些感到困惑的人,我如何使用它的一个例子是

和一些属性文件:

我的问题是:

  • 有什么区别还是一样?
  • 是否已弃用一个版本,所以我应该使用另一个版本?
0 投票
1 回答
3011 浏览

spring - 使用 Spring EL 的复杂表达式(条件和括号)

我正在使用带有弹簧安全性的弹簧-EL

是否可以用 parentesis 制作“复杂”的条件表达式?

抛出 java.lang.IllegalArgumentException:

解析表达式失败

被接受。

0 投票
1 回答
14562 浏览

spring-mvc - 如何JUnit测试@PreAuthorize注释及其由spring MVC控制器指定的spring EL?

我在 Spring MVC Controller 中定义了这个方法:

然后在我的 JUnit 测试中,我想调用这个方法并确保 PreAuthorize 条件得到验证。但是,当我在我的 JUnit 测试中使用错误帐户设置用户主体时,没有错误并且该方法完成。似乎注释被绕过了。
但是当我以正常方式(不是测试)调用此方法时,PreAuthorize 得到验证。

如果可能的话,如何在 junit 测试中测试这个注释,如果它抛出一个异常,如何捕获异常?

谢谢,
尼古拉斯

0 投票
1 回答
3544 浏览

spring - Spring SpEL 逻辑运算符

在 Spring 表达式语言 (SpEL) 中,每个文本关系运算符都有一个符号等价物。例如,eq可以写成==, 并且lt可以写成<(source here )。

然而,逻辑运算符没有符号等价物 - 至少据我所知。我必须使用andand , andor的预期符号不存在(由于某种原因不同,它具有等价物)。&|not!

知道是否可用&|或者是否可以扩展 Spring 以支持它们?

0 投票
1 回答
22549 浏览

spring-integration - 如何在 Spring Integration 中使用 logging-channel-adapter 记录消息头值

我需要使用键“foo_bar”记录消息标题的值,以便当该标题的值为“baz”时日志消息看起来像这样:

标头 foo_bar 的值:baz

如何使用窃听器和记录通道适配器来做到这一点?

0 投票
7 回答
23091 浏览

java - Spring 3:除非另一个 Bean 存在,否则注入默认 Bean

我想通过 XML 配置 Spring,如果存在特定的 bean,它将被注入到目标 bean 中。如果它不存在,将注入一个不同的默认 bean。

例如,如果我有这样的文件

并加载它,我想defaultCar注入驱动程序。但是,如果我还加载以下文件:

我希望使用customCarbean 而不是defaultCarbean。我最初的尝试不起作用,但我认为说明了我想要实现的目标:

我知道如何使用 a 来执行此操作PropertyPlaceholderConfigurer,但除了包含自定义 bean 的文件之外,我不想提供属性文件/VM 属性/环境变量/等。谢谢!


更新:

基于“使用工厂bean”的评论,我对此进行了调查并提出了以下解决方案。首先,我创建了一个通用工厂 bean,它允许您指定默认 bean 名称和覆盖 bean 名称:

要配置我的示例汽车驱动程序,您可以这样做:

我更喜欢使用 SpEL,但这有效。也许添加一个自定义模式元素会使这个更干净。

补充意见表示赞赏。

0 投票
2 回答
787 浏览

hibernate - 使用 Spel + hibernate 创建 Bean

我们正在使用 Spring MVC + 它内置的上传文件支持。我想使用 SpEL 设置最大上传大小。问题是这个值来自我们的数据库。因此,在我们的旧应用程序代码中,一旦我们上传了包含以下内容的文件,我们就会进行检查:

然后我们检查文件看它是否比这个大,并根据大小继续。

我想用我们的 servlet 配置中的以下调用替换该代码,如下所示:

问题是在初始化时我收到以下异常:

有什么办法可以做到这一点?

0 投票
1 回答
1143 浏览

java - Spring 3.0 表达式语言 Java 通用参数

我正在使用 Spring 3,并且我有一个带有签名的静态方法的类My.Package.MyClass.build(Map<MyObject1,MyObject2> map)。在我的spring bean文件中,我有以下内容:

当我运行它时,我收到一条错误消息,指出在类型build(java.util.LinkedHashMap)上找不到该方法。My.Package.MyClass我做了一些测试,当我从方法签名中删除泛型时,它工作正常。我认为这种转换会起作用。谁能告诉我我做错了什么?

谢谢,杰夫

0 投票
1 回答
3659 浏览

spring - Spring EL (SpEL) 是否可以配置为忽略表达式中间的空对象

如果我有表达式:obj1.obj2.obj3

并且 obj2 为 null,则表达式失败并出现异常。有没有办法将 SpEL 配置为只返回 null?

0 投票
2 回答
9911 浏览

spring-integration - 使用 SPeL 的 Spring Integration 过滤器表达式

我有一个包含允许值列表的配置 bean:

我已经使用名为“someValue”的字段填充了我的邮件标题,并且我想使用过滤器元素来排除 someValue 不在允许值列表中的邮件。

我的上下文如下所示:

但我得到:SpelParseException: EL1041E:(pos 1): After parsing a valid expression, there is still more data in the expression: 'comma(,)'