quartz 中service不能注入?
@Controller public class SystemJob extends QuartzJobBean { private TaoBaoService taoBaoService; @Override protected void executeInternal(final JobExecutionContext context) throws JobExecutionException { System.out.println(taoBaoService); taoBaoService.test(); } @Autowired public void setTaoBaoService(final TaoBaoService taoBaoService) { this.taoBaoService = taoBaoService; } @RequestMapping("test") public void test() { System.out.println(taoBaoService); System.out.println("test.."); } }
<!-- quartz --> <bean id="systemJob" class="org.springframework.scheduling.quartz.JobDetailBean"> <property name="jobClass" value="com.pqc.tbk.web.scheduling.SystemJob"></property> </bean> <bean id="myCronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean"> <property name="jobDetail"> <ref bean="systemJob"/> </property> <property name="cronExpression" value="0 10 0 * * ? *"/> </bean> <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> <property name="triggers"> <list> <ref bean="myCronTrigger"/> </list> </property> </bean>
直接通过地址栏访问test打印的不是null
但是通过任务执行,打印的是null,奇怪的是既然service是null,执行test()方法竟然没有报空指针?应该是注入成功了啊?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
<!-- quartz -->
难道说任务是系统启动时设定的,而在启动的时候service还没有注入进去?