在service层注入mapper时报空指针的解决
在service层注入mapper时报空指针
今天又遇到一个极其刁钻的问题,废话不多说先上代码,测试单元
@RunWith(SpringRunner.class) @SpringBootTest(classes = SpringBoot_Run.class) @ContextConfiguration(locations = { "classpath:mybatis/mappers/RevMapper.xml" }) public class TestTransaction { @Autowired RevMapper remapper; @Test public void testInsert() { ReData data = new ReData(); data.setReTime(new Date()).setSeID("fdewfcdsfdssdfdsf").setSendDate(new Date()); remapper.insertObject(data); }
然后是service代码
public class ReService { @Autowired private RevMapper reMapper; private Socket socket=null; private BufferedReader br=null; private PrintWriter pw=null; public void recevice() { try { //创建服务器,并开放3081端口 ServerSocket serv
RevMapper 类在测试的时候注入的好好地,为毛在service中就是空,一直空,空空空!!!
网上说的@mapperScan还有@mapper的注解我都加了一遍,这是为毛!!!!!
在博览全部大神的CSDN中,我发现大家都是抄过来抄过去,小弟佩服!!
解决!!!
因为我在启动类是这样写的
@SpringBootApplication(exclude=DataSourceAutoConfiguration.class) @MapperScan(“cn.yungtay.mapper”) public class SpringBoot_Run { public static void main(String[] args) { SpringApplication.run(SpringBoot_Run.class, args); ReMapper re=new ReMapper(); re.receive; } }
厉害的欧巴们不要喷,我第一反应是这样的!!
问题出来了,当一个对象是new出来的时候,他是不交给spring管理的,所以对象根本注入不进去,null是理所当然的
第二个问题,你想一个方法随着主启动类而启动,你可以这么干
@Service public class ReService implements ApplicationRunner{ @Autowired private RevMapper reMapper; private Socket socket=null; 。。。。。。。。。。。。。 @Override public void run(ApplicationArguments args) throws Exception { // TODO Auto-generated method stub 你所需要启动的方法XXXXXXXX }
感觉自己又智慧了一点!
springmvc普通类(非control,service)注入mapper为null
在给项目写一个定时器的时候,需要用到注入mapper进行数据库操作,用像serviceimpl里的注入
@Autowired UserMapper usermapper;
无效,debug后发现usemapper为null,说明没有注入成功
后看到其他文章知道了new出来的thread不在spring的容器中,所以无法注入成功,获得bean
但是按照他的方法依旧为null,他的想法是主动注入bean,应该是对的。
不过我这个可能有点特殊,于是最后只能使用终极大法
ApplicationContext ac = new ClassPathXmlApplicationContext("classpath:applicationContext.xml"); usermapper = (UserMapper) ac.getBean("UserMapper"); usermapper.deleteAllCookies();
不要忘了给mapper个名字,例
@Repository(value="UserMapper") public interface UserMapper { public List<User> selectByExample(@Param("username1")String username,@Param("password")String password); public int insertToken(@Param("username1")String username,@Param("token")String token); public String checkToken(String token); public int logout(@Param("username1")String username,@Param("token")String token); public int deleteAllCookies(); }
这个方法主观上感觉不是很好,先这样吧!
以上为个人经验,希望能给大家一个参考,也希望大家多多支持猪先飞。
相关文章
- 这篇文章主要介绍了c# 三种方法调用WebService接口的相关资料,文中示例代码非常详细,帮助大家更好的理解和学习,感兴趣的朋友可以了解下...2020-07-07
C#使用Http Post方式传递Json数据字符串调用Web Service
这篇文章主要为大家详细介绍了C#使用Http Post方式传递Json数据字符串调用Web Service,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2020-06-25- 这篇文章介绍了c#动态调用Webservice的两种方法实例,有需要的朋友可以参考一下...2020-06-25
- 这篇文章主要给大家介绍了关于c#中的WebService及其调用方式的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-06-25
mybatis-plus mapper中foreach循环操作代码详解(新增或修改)
这篇文章主要介绍了mybatis-plus mapper中foreach循环操作代码详解(新增或修改),本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-11-17DTO 实现 service 和 controller 之间值传递的操作
这篇文章主要介绍了DTO 实现 service 和 controller 之间值传递的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-02-22- 这篇文章主要介绍了java中的空指针异常情况以及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-10-02
- 方法一:直接调用复制代码 代码如下:<? /******************************************************************************/ /* 文件名 : soapclient.php /* 说 明 : WebService接口客户端例程 /****************...2014-06-07
- 这篇文章主要为大家详细介绍了C# 创建、部署和调用WebService的简单示例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2020-06-25
- 下面小编就为大家带来一篇C# Soap调WebService的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-06-25
- 这篇文章主要介绍了解决tk mapper 通用mapper的bug问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-06-16
- 这篇文章主要介绍了c#动态改变webservice的url访问地址,需要的朋友可以参考下...2020-06-25
- 这篇文章主要介绍了Spring boot 无法注入service问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-10-09
- 这篇文章主要介绍了WebService 的简单封装接口调用方法,主要是通过简单的sql语句来查询数据库,从而返回dataset,十分简单实用,有需要的小伙伴可以参考下。...2020-06-25
- 这篇文章主要介绍了JAVA调用SAP WEBSERVICE服务实现流程图解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-10-11
- c#编写webservice服务引用实例分享,大家参考使用吧...2020-06-25
- 首先用c#创建一个web service,主要是利用其WSDL的功能,当然也可以利用php创建一个,道理都是一样的...2020-06-25
- C#调用和实现WebService,纯手工打造! 需要的朋友可以参考一下...2020-06-25
系统找不到指定的文件 No installed service named "Apache2"
我们有时会发现apache会出现,系统找不到指定的文件 No installed service named "Apache2" 安装Apache问题:系统找不到指定的文件 No installed service named "Apa...2016-09-14- 本文主要用详细的图文给大家介绍C#创建、部署、调用WebService的全部过程以及中间需要避免的问题。...2020-06-25