java调用mybatis_java单元测试调用mybatis接口并执行

今天想使用单元测试类,存储一些数据到mysql,可是,一直在报错,org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'locationService' available

检查了好久,实属无奈找不出问题,试了一下手动构造注入javabean,奇迹的解决了这个问题。

ba6155f60f24ff32467bff106a38384d.png

单元测试具体写法:

1.使用注解@Before 读取dao层的xml配置文件,,注意,必须是dao层,否则找不到mybatis的会话工厂

f62233859dd0b423a7de9a18f946deef.png

2.需要使用构造注入service层的接口实现类后,程序才可以获取mapper接口,,否则mapper接口实例后参数为null,会报空指针异常

26585d32da3167bdeb27275be7b910f8.png

c4b594b752ea865a47ec15dc1cc4591a.png

3.构造注入的service层实现类 必须写在dao层的xml文件里,不可以在其他xml里单独注入再获取Javabean,否则会报错误创建bean。

当然,如果真的想写在一个新的xml文件里,可以将新xml导入到dao层xml配置文件里。

aba77b2f16ac8eba8f7787f67036cb24.png

ba7ea9bce892533236378038ce5eecfd.png

dao层xml文件模板:

42c71ec7405410d5cf64a800eaff68595d2.jpg

f2b87ccd3ef6b4f451551e315c117f97228.jpg

1 <?xml version="1.0" encoding="UTF-8"?>

2

3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

4 xmlns:context="http://www.springframework.org/schema/context"

5 xsi:schemaLocation="http://www.springframework.org/schema/beans6 http://www.springframework.org/schema/beans/spring-beans.xsd7 http://www.springframework.org/schema/context8 http://www.springframework.org/schema/context/spring-context.xsd">

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

View Code

自定义注册bean的xml文件模板:

59ee8692f88c3c9ac8c8f41cd6602f22745.jpg

c638f092287eb57a9c6cb50156cd395ec62.jpg

1 <?xml version="1.0" encoding="UTF-8"?>

2

3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

4 xsi:schemaLocation="http://www.springframework.org/schema/beans5 http://www.springframework.org/schema/beans/spring-beans.xsd">

6

7

8

9

View Code

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值