使用XML通过字符串以外的属性来配置Spring Bean(使用属性文件)

时间:2018-08-13 05:56:24

标签: java spring dependency-properties

我的Spring Bean定义为:

<bean id="loyaltyPointsExpiringJobTrigger"  class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
        <property name="name" value="Loyalty Points Expiring Job Trigger" />
        <property name="jobDetail" ref="loyaltyPointsExpiringJobDetail" />
        <property name="cronExpression" value="${prop.loyalty.expiring.points.job.cron}"/>
        <property name="timeZone" value="${prop.loyalty.expiring.points.timezone}"/>
    </bean>

但是,属性prop.loyalty.expiring.points.timezone导致TypeMismatchException出现以下消息:

  

org.springframework.beans.TypeMismatchException:无法将类型“ java.lang.String”的属性值转换为属性“ timeZone”的必需类型“ java.util.TimeZone”;嵌套异常是java.lang.IllegalArgumentException:无效的时区规范'$ {prop.loyalty.expiring.points.timezone}'

请指导。

1 个答案:

答案 0 :(得分:0)

这很简单,您可能需要为timeZone对象定义一个bean,并找出使用字符串的构造函数,并传递所需的值。