这个问题被坑大发了,因为没加<load-on-startup>1</load-on-startup>,定时器就是不起来。
web.xml中,一定记得添加<load-on-startup>1</load-on-startup>,这样项目启动它才会启动。
<servlet><servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:WEB-INF/conf/spring-*.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
在spring-mvc.xml中配置
xmlns:task="http://www.springframework.org/schema/task"
http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-3.0.xsd
<task:annotation-driven /> <!-- 定时器开关-->
<!-- 启用spring mvc 注解 -->
<context:annotation-config />
<!-- 设置使用注解的类所在的jar包 -->
<context:component-scan base-package="com.hmpmic.manage.teacher.controller"></context:component-scan>
在这个包下建一个类:
com.hmpmic.manage.teacher.controller
@Component
public class MyTaskAnnotation {
/**
* 定时计算。每天五秒执行一次
*/
@Scheduled(cron="0/5 * * * * ? ")
public void show(){
System.out.println("Annotation:is show run");
}
}