Java 如何从自动连线服务初始化私有静态final

Java 如何从自动连线服务初始化私有静态final,java,spring-boot,Java,Spring Boot,我遇到了使用@scheduled注释的情况 当我在类上具有值时,它会起作用: 私有静态最终字符串CRON=0**?; @Scheduledcron=CRON public void scheduledMethod{} 但我的要求是从自动连线服务加载这个CRON表达式: @自动连线 私人准服务准服务; 私有静态最终字符串CRON=paramService.getcron; paramService.getcron从数据库中读取名为cron的变量 由于存在静态上下文,此操作不起作用。另外,我应该将变

我遇到了使用@scheduled注释的情况

当我在类上具有值时,它会起作用:

私有静态最终字符串CRON=0**?; @Scheduledcron=CRON public void scheduledMethod{} 但我的要求是从自动连线服务加载这个CRON表达式:

@自动连线 私人准服务准服务; 私有静态最终字符串CRON=paramService.getcron; paramService.getcron从数据库中读取名为cron的变量

由于存在静态上下文,此操作不起作用。另外,我应该将变量作为静态最终字符串。如何解决这个问题?

您可以使用语法

公共类ScheduledTasks{ @Scheduledcron={paramService.get'cron'} 公共无效调度方法{ …做点什么 } }
那是不可能的。paramService.getcron是什么;由于各种原因,这根本不起作用,但最重要的是该语言不允许在静态上下文中进行非静态访问。是的,让Spring管理您的属性并使用@Scheduledcron=${cron}。@SimonMartinelli它从数据库中获取实际值。在这种情况下,您应该使用TaskScheduler以编程方式对其进行调度。如果我必须解析Int paramService.get'delay'类变量呢?我想它应该类似于{Integer.parseIntparamService.get'delay}