博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
spring+quartz 实现定时任务三
阅读量:4354 次
发布时间:2019-06-07

本文共 933 字,大约阅读时间需要 3 分钟。

其实,上面2篇都已经可以完成所有客户的需求,在这一篇,记录实现过程遇见一个很奇怪的问题.

那就是spring的自动加载

在真正的task里面,难免需要完成对数据库的操作,这样就需要自动注入service.

但是很奇怪,无论如何,无法注入,折腾了很久,service都是null.

于是采用迂回的方式完成bean的注入.

1. 在spring配置文件里面定义一个获取上下文的bean

具体代码:

public class ApplicationContextHelper implements ApplicationContextAware  {      private static ApplicationContext context;        @Override      public void setApplicationContext(ApplicationContext contex) throws BeansException      {          ApplicationContextHelper.context = contex;      }        public static ApplicationContext getContext()      {          return context;      }    }

 

2. 在真正实现的task里面,首先定义

private SellerMapper sellerMapper;ApplicationContext context = ApplicationContextHelper.getContext();sellerMapper = (SellerMapper)context.getBean("sellerMapper");

这样才能获取到mapper的bean.

 

在非task的类里面,service的bean也可以直接获取到,但是在上面的代码里面,只能获取到mapper类,实在找不到什么情况了.

如果有大神知道的还请指导下.

转载于:https://www.cnblogs.com/raspberry/p/5534741.html

你可能感兴趣的文章
Programming Languages - Coursera 整理
查看>>
ASP.NET MVC 3 入门级常用设置、技巧和报错
查看>>
硬件访问方法和混杂字符设备
查看>>
shell 脚本获取远程服务器信息并发送邮件
查看>>
基于Docker搭建MySQL主从复制
查看>>
两台centos之间传送文件
查看>>
使用DevExpress官方汉化文件对界面进行汉化的过程
查看>>
关于获取各种浏览器可见窗口大小的一点点研究
查看>>
C#获取枚举描述
查看>>
emwin 之模态窗口
查看>>
macdown快速上手
查看>>
Bone Collector 01背包问题
查看>>
toString方法分析
查看>>
c++ builder xe2 字符串转日期
查看>>
网络流 E - Escape HDU - 3605
查看>>
MySQL(13):Select-order by
查看>>
Java基础知识强化之网络编程笔记08:TCP之客户端键盘录入服务器控制台输出
查看>>
10.11讲的内容总结
查看>>
datetime赋空值
查看>>
类似银行交易记录
查看>>