http://ask.csdn.net/questions/151948
帖子放了半个多月没人解答,经过长时间查找资料,终于能够实现了,亲测可用,暂时不知道之前的空指针异常问题出在哪里,先奉上解决方案。
<!-- 要调用的工作类 -->
<bean id="glybController" class="org.mnis.web.GlybController"></bean>
<!-- 定义调用对象和调用对象的方法,以上为管理员表Controller -->
<bean id="jobtask"
class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<!-- 调用的类 -->
<property name="targetObject">
<ref bean="glybController" /> <!-- 对应调用工作类的bean id-->
</property>
<!-- 调用类中的方法 -->
<property name="targetMethod">
<value>initSys</value> <!-- 对应调用工作类的 GlybController里要实现定时执行的方法initSys实现系统初始化,本方法为定时执行的方法-->
</property>
</bean>
<!-- 定义触发时间 -->
<bean id="doTime"
class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail">
<ref bean="jobtask" />
</property>
<!-- cron表达式 -->
<property name="cronExpression">
<!-- 每各执行一次-->
<!-- <value>0 */1 * * * ?</value> -->
<value>0 0 10 * * ?</value> <!-- 定义在每天早上10点自动执行 -->
</property>
</bean>
<!-- 总管理类 如果将lazy-init='false'那么容器启动就会执行调度程序 -->
<bean id="startQuartz" lazy-init="false" autowire="no"
class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="doTime" />
</list>
</property>
</bean>
至于controller里面的方法如何写还有web.xml里对于spring的配置,我就不给大家贴出来了。
controller里面是采取的Service注入的方法
@Resource
private BrbService brbService;
@RequestMapping("/initSys.do")
public ModelAndView initSys() throws Exception{
this.brbService.saveOrUpdateBrb(brb);
}
以前的方法一直都是可以实现定时执行,但是在 this.brbService.saveOrUpdateBrb(brb);就会报空指针异常,显示brbService为空。现在终于解决了!!!