我是新学员并使用spring注释进行配置我可以使用@PostConstruct和@Scheduled(fixedRate = 60L * 1000L) 在下面给出的相同方法?如果是,应该是什么样的注释?
@Component
public class Cache {
@PostConstruct
@Scheduled(fixedRate = 60L * 1000L)
public void refreshCache() {
...
}
}
答案 0 :(得分:4)
是的,你班上的注释是正确的。但你最好使用:
@Scheduled(fixedRate = 60L * 1000L, initialDelay=0)
public void refreshCache() {
没有@PostConstruct
因为:
@PostConstruct
注释班级中的一个方法。@PostConstruct
原因还有很多,但我就此止步。
答案 1 :(得分:0)
如果你不使用任何xml,这个例子应该是你想要的,它实际上是一个Spring启动应用程序。 https://github.com/soiff-spring/spring-boot-example
我的完整示例在这里:https://github.com/soiff-spring/spring-mvc-example
请注意以下文件和课程:
hello-servlet.xml
HelloScheduler
打包这个项目并将它放在你的tomcat容器中并启动你的tomcat,你会看到如下日志:
20:06:53.003 [pool-1-thread-1] INFO xyz.cloorc.example.springmvc.HelloScheduler - 1480594013001 : hello world ...
20:06:54.001 [pool-1-thread-1] INFO xyz.cloorc.example.springmvc.HelloScheduler - 1480594014001 : hello world ...
20:06:55.001 [pool-1-thread-1] INFO xyz.cloorc.example.springmvc.HelloScheduler - 1480594015001 : hello world ...
20:06:56.002 [pool-1-thread-1] INFO xyz.cloorc.example.springmvc.HelloScheduler - 1480594016002 : hello world ...
20:06:57.000 [pool-1-thread-1] INFO xyz.cloorc.example.springmvc.HelloScheduler - 1480594017000 : hello world ...
20:06:58.002 [pool-1-thread-1] INFO xyz.cloorc.example.springmvc.HelloScheduler - 1480594018002 : hello world ...
享受自己。