Spring junit做单元测试时,报Failed to load ApplicationContext错误
发表于|更新于|Java
|总字数:203|阅读时长:1分钟|浏览量:
在做单元测试模块时,提示Failed to load ApplicationContext,经过查看,发现是测试单元中的一个注解指向了一个不存在的bean,该bean在applicationContext-web.xml中,而我们的代码的注解是
1 | @RunWith(SpringJUnit4ClassRunner.class) |
解决办法就是将这个bean的定义写在applicationContext-test.xml中。
当然这种错误也存在其他原因,比如:项目引用了其他模块,并且有相同名称的Spring配置文件,这也会导致Failed to load ApplicationContext这个错误。
1 | @ContextConfiguration(locations = { "classpath:spring*.xml", "classpath:mybatis.xml", "classpath:spring-redis.xml" }) |
解决方案
1 | @ContextConfiguration(locations = { "classpath*:spring*.xml", "classpath*:mybatis.xml", "classpath*:spring-redis.xml" }) |
当然,偷懒也是可以滴,比如:
1 | @ContextConfiguration(locations = { "classpath*:*.xml"}) |
文章作者: Charles
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 码农笔记!
相关推荐

2020-09-01
Kerberos、Impala、Druid的配合使用
本篇介绍了如何在开启Kerberos认证的情况下,数据库连接池Druid和Impala的配合使用。 背景由于生产环境开启了Kerberos的认证限制,原来可直接使用Druid连接池的方式便不可用了,需要重写Druid获取连接的逻辑,在其创建Impala连接时加入Kerberos认证的功能。 实现方式ImpalaDruidDataSource.class123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120import com.alibaba.druid.pool.DruidDataSource;import com.alibaba.d...

2020-07-15
利用 Spring 的类型转换器注入List属性
在Spring应用程序中,通常会为每个Spring容器(或ApplicationContext)配置一个ConversionService实例。 Spring会选择该ConversionService,然后在框架需要执行类型转换时使用它。如果未向Spring注册任何ConversionService,则使用原始的基于PropertyEditor的系统。 例如,在项目中配置Redis、ElasticSearch时,通常这些服务都是集群部署的。在创建这些bean的实例时,需要将多个节点都配置到项目的properties文件中,通常都如下所示: 12spring.elasticsearch.rest.ip-address=10.254.5.102:9200,10.254.5.107:9201,10.254.5.108:9201redis.cluster.nodes=10.10.100.197:7000,10.10.100.197:7001,10.10.100.197:7002,10.10.100.197:7003,10.10.100.197:7004,10.10.100.197:7...

2022-10-18
Windows IntelliJ IDEA快捷键大全
Ctrl 快捷键 介绍 Ctrl + F 在当前文件进行文本查找 (必备) Ctrl + R 在当前文件进行文本替换 (必备) Ctrl + Z 撤销 (必备) Ctrl + Y 删除光标所在行 或 删除选中的行 (必备) Ctrl + X 剪切光标所在行 或 剪切选择内容 Ctrl + C 复制光标所在行 或 复制选择内容 Ctrl + D 复制光标所在行 或 复制选择内容,并把复制内容插入光标位置下面 (必备) Ctrl + W 递进式选择代码块。可选中光标所在的单词或段落,连续按会在原有选中的基础上再扩展选中范围 (必备) Ctrl + E 显示最近打开的文件记录列表 (必备) Ctrl + N 根据输入的 类名 查找类文件 (必备) Ctrl + G 在当前文件跳转到指定行处 Ctrl + J 插入自定义动态代码模板 (必备) Ctrl + P 方法参数提示显示 (必备) Ctrl + Q 光标所在的变量 / 类名 / 方法名等上面(也可以在提示补充的时候按),显示文档内容 Ctrl +...

2015-04-10
Idea中Tomcat乱码的问题
最近换了Windows,在Idea中启动Tomcat时会出现乱码,下面贴一下解决办法 1、在VM options中添加如下参数 1-Dfile.encoding=UTF-8 2、修改Tomcat的logging.properties 1java.util.logging.ConsoleHandler.encoding = UTF-8 替换为 java.util.logging.ConsoleHandler.encoding = GBK

2021-06-22
使用Jenkins进行自动构建部署
Jenkins是一款由Java编写的开源的持续集成工具,也是开源CI&CD软件领导者,本文介绍Jenkins的自动构建,部署SpringBoot项目、传统War项目、前端项目。 环境准备 Jenkins已经安装完成,本次以Jenkins 2.300为例 Jenkins相关插件 Publish Over SSH NodeJS Plugin Deploy to container Plugin 部署Jenkins的服务器上安装有Java、Maven、Node环境。 配置Jenkins配置JavaDashboard -> Manage Jenkins -> Global Tool Configuration,在JDK这一栏点击JDK安装,新增JDK,如下图所示: 配置MavenDashboard -> Manage Jenkins -> Global Tool Configuration,在Maven这一栏点击Maven安装,新增Maven,如下图所示: 配置NodeJSDashboard -> Manage Jenkins ->...

2018-03-06
MyBatis的Param注解对JavaBean的使用方法
在使用MyBatis时,如果参数列表中传入的是一个JavaBean对象,那么在MyBatis的SQL中应该是如下使用方式。 如果参数中加了@Param,那么既可以使用#{}获取,也可以使用${}获取。 12@Select("SELECT id,username from user where age between #{queryParam.minAge} and #{queryParam.maxAge}")List<UserVo> queryUserList(@Param("queryParam") QueryParam queryParam); 使用$获取 12@Select("SELECT id,username from user where age between ${queryParam.minAge} and ${queryParam.maxAge}")List<UserVo> queryUserLis...
评论
公告
开始忙了,长草期。






