Springboot测试类没有bean注入问题解析
人气:0这篇文章主要介绍了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: 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 {
完美解决!
如果百度的时候,发现查看的问题越来越深,越来越偏离最开始的问题,那十有八九是方向偏了,重新整理一下,重新开始吧
您可能感兴趣的文章:
- springboot 实现bean手动注入操作
- springboot2.x解决运行顺序及Bean对象注入顺序的问题
- spring boot拦截器注入不了java bean的原因
- Java 如何从spring容器中获取注入的bean对象
- 解决Spring Boot 多模块注入访问不到jar包中的Bean问题
- Springboot实现多线程注入bean的工具类操作
- 详解Spring中接口的bean是如何注入的
- Spring为IOC容器注入Bean的五种方式详解
- 详解SpringBoot 多线程处理任务 无法@Autowired注入bean问题解决
- spring中通过ApplicationContext getBean获取注入对象的方法实例
- Spring bean的实例化和IOC依赖注入详解
- 详解Spring中bean的几种注入方式
- 普通类注入不进spring bean的解决方法
加载全部内容