我正在使用Spring的最新版本。当年份在新的一年发生变化时,我需要执行一些数据库操作。有什么方法可以触发基于Spring的事件来检测该年份是否已更改?

谢谢。

最佳答案

正如我在评论中所说的那样,可以通过使用@Scheduled注释来实现。
计划的批注允许我们定义一个cron表达式,该表达式将在将调用带有此批注注释的方法时确定。从文档:


  克朗
  
  类似cron的表达式,将通常的UN * X定义扩展为
  包括第二秒以及分钟,小时,每月的某天,
  一个月中的某天。


例如,方法

@Scheduled(cron = "0 0 0 1 1 *")
public void doStuffOnFirstOfJanuary() {
    System.err.println("This is called");
 }


一月的第一天第一天将在0小时0分钟0秒被调用。

为了使此批注起作用,您必须在应用程序中启用调度,方法是使用@EnableScheduling批注,或者如果使用xml配置,则添加<task:annotation-driven/>元素。

07-23 13:57