用spring开发web,流程是html->js->控制器(注入service)->dao->mybatis
这个流程是跑的没有问题的。
然后我由于需要用到一个任务的框架,所以在中间添加了一个流程:
html->js->控制器(new一个任务类的对象)->任务类(注入service)->dao->mybatis
这样子,就会报注入的service是null
代码应该是没有问题的,因为如果同样的代码带式用流程1,确实可以最后操作到数据库(但是这样就没有任务的功能了)
所以我认为核心是如何正确注入,尝试过给任务类加@Service、@Controller,还有直接new一个service的实现类,但是这样的话service中的dao的注入又是报null。由于dao的实现是mybatis的xml文件,所以无法再用new实现类的方法。上网找了资料,可能描述不够精确都没找到答案。可能实在不行只能写jdbc的方式去完成。
图片补充:
我在任务类中注入bean
报错null.
我在controller中注入bean,没有问题,能运行。但是这样一来任务(即多少时间跑一次业务带代码)就没有用了
关于
Spring DI
楼主可以看看这个回答https://segmentfault.com/q/10...