Spring表达式语言SPEL:连接两个属性并为第三个属性赋值

时间:2014-05-15 10:56:58

标签: 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属性的串联。

1 个答案:

答案 0 :(得分:2)

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

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