如何在spring表达式语言中引用当前bean

如何在spring表达式语言中引用当前bean,spring,spring-el,Spring,Spring El,我正在使用spring-3.2.2。我不熟悉spring,第一次使用spring表达式语言。请考虑下面的Spring配置文件的片段,我正面临这个问题。 <bean id="bean3" class="com.springaction.testcollection.PersonBean"> <property name="name" value="Prakash" /> <property name="age" value="62"

我正在使用spring-3.2.2。我不熟悉spring,第一次使用spring表达式语言。请考虑下面的Spring配置文件的片段,我正面临这个问题。

<bean id="bean3" class="com.springaction.testcollection.PersonBean">
        <property name="name"  value="Prakash" />
        <property name="age" value="62" />
        <property name="salary" value="30000" />
        <property name="bonus" value="#{salary*T(PersonBean).count}" />
   </bean>


在上面的代码片段中,我想使用同一bean(bean3)的salary字段来计算奖金值。我只是想知道如何在spring配置文件中引用当前bean的字段?可能吗?如果没有,是否有其他解决方案?

备选方案:将“奖金”计算逻辑放入“工资”设置器中。请记住,getter和setter中的业务逻辑不是最佳实践。也许你可以设置工资,你需要在那里实现同样的功能…谢谢Evgeny的回答。如果我在PersonBean类中实现InitializingBean接口并在里面实现奖金计算逻辑。这种实现是否是一种好的做法?除了避免您想做的事情之外,您是否尝试过value=“@bean3.salary*@bean3.count”。使用@将在上下文中解析bean。我不知道这在同一个bean初始化阶段是否有效。试试看。