Springboot测试类没有bean注⼊问题解析
这篇⽂章主要介绍了Springboot测试类没有bean注⼊问题解析,⽂中通过⽰例代码介绍的⾮常详细,对⼤家的学习或者⼯作具有⼀定的参考学习价值,需要的朋友可以参考下
其他乱七⼋糟配置就不扯了,先上项⽬结构图
配置好参数后我再src/test/java类测试访问数据库时发现bean没有正确的注⼊。值得注意的是,这个项⽬的启动类是叫App.java
所以我们必须在这个测试类上⾯加上注解:
@RunWith(SpringRunner.class)
@SpringBootTest(classes = App.class)
注意:SpringBoot(classes = App.class) classes后⾯跟的是启动类的class,千万不要随便抄⽹上的配置,写⼀些Application.class之类的,这种Application之类的类名和⼀些官⽅包⾥的类名⼀样,容易引⼊错误的包。
刚开始发现这个问题疯狂去⽹上看别⼈的配置⽂件是怎么写的,试了⼀天都没⽤,后来静下⼼来,把错误信息copy出来⽂本⾥仔细看
org.springframework.beans.factory.UnsatisfiedDependencyException:
spring boot选择题Error creating bean with name 'com.springboot.LibrarySystem.mapper.UserMapperTest':
Unsatisfied dependency expressed through field 'userMapper';
nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException:
No qualifying bean of type 'com.sb.LibrarySystem.mapper.UserMapper'
available: expected at least 1 bean which qualifies as autowire candidate.
Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
还是从这个Test类下⼿
本来我的类是这样的:
@RunWith(SpringRunner.class)
@SpringBootTest(classes = Application.class)
public class UserMapperTest {
}
修改后就是这样,和我的启动类的类名是⼀致的:
@RunWith(SpringRunner.class)
@SpringBootTest(classes = App.class)
public class UserMapperTest {
完美解决!
如果百度的时候,发现查看的问题越来越深,越来越偏离最开始的问题,那⼗有⼋九是⽅向偏了,重新整理⼀下,重新开始吧
以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论