mybatis项目,在线程中调用Service和DAO层的方法时会报空指针

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mybatis项目,在线程中调用Service和DAO层的方法时会报空指针相关的知识,希望对你有一定的参考价值。

写了一个简单的爬虫程序,,在将爬取的数据调用Service的方法传值时报空指针

线程中直接调用spring注解就是会报空指针的,Spring 注解@PostConstruct的问题,这个是在bean实例化之前执行的,解决方法有
1、把数据库连接写成静态方法来调取;
AbstractApplicationContext ac=
new ClassPathXmlApplicationContext("applicationContext.xml");

xxMapper mapper = ac.getBean(xxMapper.class);
之后就可以用mapper了
2、写个回调函数;在回调函数中执行dao层方法;
参考技术A 建议使用参数 时候 进行非空判断,避免空指针异常。追问

值不是空的!将值传入到Service和DAO层的方法中时会报空指针

追答

看控制台打印的信息, 会报哪一行出现空指针的。 可以看那个对象是空的~

追问

对象时有值的,,不是空的!

参考技术B 楼主,异步调用空指针问题怎么解决的。 参考技术C spring依赖注入没写对?追问

我也是这样想的,,,但是其它地方都是对的,就线程里面那个不对,,难道是线程的注入和其它不一样

本回答被提问者采纳

mybatis

spring boot 中使用mybatis

 

1.yml文件中读取xml配置文件

 

 2.xml配置,使用mybatis的 mapper  namespace对应上边定义的Dao

 

 3.controller调用service   service调用dao

 

 

 

以上是关于mybatis项目,在线程中调用Service和DAO层的方法时会报空指针的主要内容,如果未能解决你的问题,请参考以下文章

Springboot+Mybatis 学习笔记

关于 mybatis的问题

spring和mybatis整合怎么将事务在service层关闭?使用xml配置

spring和mybatis整合怎么将事务在service层关闭?使用xml配置

SpringMVC+SpringBoot+MyBatis

Android平台调用Web Service:线程返回值