java - Spring 表达式语言 SPEL : concate two properties and assign value to third property

标签 java spring javabeans spring-el

我是 Spring 的 SPEL 新手。我不确定我们是否可以做这样的事情?

<bean id="student1" class="Student">
   <property name="firstName" value="John"/>
   <property name="lastName" value="Smith"/>
   <property name="fullName" value="#{firstName + lastName}" />
</bean>

我想在 XML 中使用 SPEL 作为我的 fullName 属性,该属性是firstName 和lastName 属性的串联。

最佳答案

为什么不在 Student.getFullName() 中执行此操作以获得更好的封装和一致性?否则,有人可以为 firstNamelastName 设置一个值,但为 fullName 设置不同的值。最后你会感到惊讶!

从另一方面来看,SpEL 不支持这种情况。它可用于通过简单的单行逻辑填充来自某些外部 bean 的值。然而,您尝试从同一个 bean 获取值。我确信您最终会遇到异常,因为上下文中没有 firstNamelastName bean。

关于java - Spring 表达式语言 SPEL : concate two properties and assign value to third property,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23676254/

相关文章:

java - java中随机生成一大块数字字符串

java - InnoDB 和 MyISAM 有什么区别

java - 如何配置 selenium webdriver 以使用自定义 firefox 设置进行测试?

java - Android API 级别 19 及以下的 ThreadLocalRandom() 替代方案?

java - Spring MVC 3 获取初始化参数

Java Bean : What am I missing?

spring - 如何使用上下文将参数传递给 Thymeleaf 模板?

java - 我如何使用@WebMvcTest 并添加我自己的自定义过滤器?

java - Java bean 是否始终是 DI 容器中的 POJO

java - Apache Tiles - 无法访问 Spring MVC 中自定义 ViewPreparer 中的 bean