【问题标题】:Accessing property values in Annotations访问 Annotations 中的属性值
【发布时间】:2011-12-12 05:26:11
【问题描述】:

我想访问注释中的属性值,作为属性的值。

例如。在我的属性文件中,我有一个条目表达式:3/10 * * * * ?

在我的调度程序类中,我使用注释@Scheduled (cron = "**VALUE**")。我想从表达式键对应的属性文件中读取这个值。

尝试使用@Value 执行此操作,但它返回的类型为Value,无法转换为String

【问题讨论】:

标签: java annotations properties


【解决方案1】:

从 spring 3.0.1 你可以这样做 @Scheduled(cron = "${rates.refresh.cron}")

参考 http://forum.springsource.org/showthread.php?83053-Feature-Scheduled-with-Value-cron-expression

但是,由于类型转换问题,您不能对 fixDelay 和 fixRate 执行此操作(fixDelay 需要 long 值,而注解仅返回 String)。检查 Mark 在https://jira.springsource.org/browse/SPR-6670中的 cmets

【讨论】:

    【解决方案2】:

    您可以尝试使用APT(注解处理工具)将注解中的值替换为属性文件中的值。

    【讨论】:

      猜你喜欢
      • 2012-12-07
      • 2010-12-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多