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-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...

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...

2021-08-13
无网络环境使用Jenkins自动部署
背景环境要求 MySQL5.7 CentOS7 服务器主机已安装git 已经配置好JDK环境变量 申请开放两个端口的网络策略(本篇申请开发了92和93端口) 安装Gitea下载gitea12# 由于没有网络,所以根据这个地址手动下载即可wget https://dl.gitea.io/gitea/1.15.0/gitea-1.15.0-linux-amd64 安装gitea 将gitea-1.15.0-linux-amd64上传到/opt/gitea 目录下 1234567cd /opt/gitea# 做软链ln -s /opt/gitea/gitea-1.15.0-linux-amd64 gitea# 添加执行权限chmod +x gitea# 启动gitea,-p可修改端口nohup ./gitea web -p 92 & 配置gitea访问http://10.10.10.10:92即可配置gitea,主要配置mysql和http地址,以及管理员。 配置完成后即可完成gitea的部署,代码仓库这一块的问题就解决了。 安装Jenki...

2018-03-07
MyBatis中大于和小于的编码方法
在使用MyBatis开发过程中,会将SQL编写在XxxMapper.xml中,由于>和<本身也是xml内容的一种,这会将其误认为是标签,所以在SQL中有>、<的时候会提示报错,可以使用下面两种方法去编码。 使用转义序列12< 可以使用 < 代替> 可以使用 > 代替 使用CDATA CDATA 全名:character data。所有 XML 文档中的文本均会被解析器解析,除了 CDATA 区段(CDATA section)中的文本会被解析器忽略。 CDATA的形式如下: <![CDATA[文本内容]]> 。 CDATA的文本内容中不能出现字符串]]>。另外,CDATA不能嵌套。 XML 实例: 在CDATA标记中的信息被解析器原封不动地传给应用程序,并且不解析该段信息中的任何控制标记。 CDATA区域是由<![CDATA[为开始标记,以]]>为结束标记,注意CDATA为大写。 示例: 12< 可以使用 <![CDATA[ < ]]>...

2020-07-14
ElasticSearch 7.8.0 破解
在测试ES-SQL的过程中发现当前最新版ES 7.8.0的JDBC是收费的,不过都已经花了时间去搞那么还是需要小小的`测试`一下的。 其实,说ES破解也不太对,主要是ES的增强包X-Pack,这个增强包包含了JDBC、ODBC、安全、告警、机器学习等,所以这个工具的付费还是不错的,可惜目前还未得到能接受付费的回应,那就先试用一下吧。 根据目前我的场景,已经安装好ElasticSearch7.8.0和kibana7.8.0。 下载反编译工具因为要修改期验证license的代码,所以我们需要通过反编译工具来查看代码,这里推荐Luyten,可以去Releases · deathmarine/Luyten · GitHub下载,官方提供了win的安装包已经可执行的jar,所以这里下载jar即可。 查看x-pack-core的源码es我是通过rpm安装的,所以在其安装目录/usr/share/elasticsearch/modules/x-pack-core中下载x-pack-core-7.8.0.jar文件到本地,通过Luyten打开这个jar。 找到以下两个文件: or...

2026-01-03
Java25新特性
2025年9月,Java开发者将迎来一个重要的里程碑——JDK25的发布。作为长期支持版本(LTS),JDK25不仅带来了多项语言增强,还在性能、安全和用户体验方面进行了显著优化。本文将为您详细介绍JDK25的主要功能预览,让您提前领略这一版本的强大功能。 语言特性增强基本类型模式匹配(JEP 507)JDK25在Java的模式匹配框架instanceof和switch中直接支持原始类型(如int、boolean),打破基本类型(Primitive Types)与引用类型(Reference Types)在模式匹配中的隔阂,让基本类型在 instanceof 和 switch 中也能像对象一样灵活使用。例如: 123456789101112// 使用 instanceof 检查安全转换if (obj instanceof int i) { System.out.println("这是一个可以安全存入 int 的数值: " + i);}// 在 switch 中直接匹配基本类型return switch (val) { ...
评论
WalineDisqus
公告
又双叒从WordPress迁移到Hexo了,开启白嫖模式。





