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

2019-07-17
删除Redis中keys命令匹配到所有key
在开发过程中,经常会遇到Redis的机器内存过高而导致其他服务受到影响,主要原因是没有对一些临时的key设置过期时间或者定期清理,时间一长就会造成很多垃圾数据塞满内存,那么此时就可以通过keys命令将匹配到的key删除。 单节点Redis删除key单节点不存在槽(slot)的概念,所以可以直接使用如下命令进行删除 1redis-cli keys "*gitlab*"|xargs redis-cli del 上面的命令表示删除所有包含gitlab的key,使用keys *gitlab*将会得到如下结果: 12345678910111213root@ubuntu:~# redis-cli -n 0 keys "*gitlab*" 1) "resque:gitlab:cron_job:expire_build_artifacts_worker" 2) "resque:gitlab:cron_job:admin_email_worker:enqueued" 3) "resque:gitlab...

2019-08-06
CentOS安装OpenJDK1.8
因Oracle JDK自1.8.191开始就对企业服务进行付费使用了,那么公司的应对方案要么将JDK锁定在免费服务期的版本,要么就使用OpenJDK替代Oracle JDK,这两者本身出自同一份源码,Oracle JDK只不过比Open JDK多了一些特殊的功能(例如监控),那么我就用OpenJDK来代替OracleJDK。下面记录一下安装OpenJDK 8的步骤。 使用Yum安装OpenJDK 8对于Java来说,通常分为jre运行时环境和JDK开发工具包,高版本的Java已经将他们合二为一了。那么JDK 8还是分开安装的。可使用如下命令安装: 1yum -y install java-1.8.0-openjdk java-1.8.0-openjdk-devel java-1.8.0-openjdk仅安装了jre,java-1.8.0-openjdk-devel则是JDK环境。 使用如下方式配置环境变量: 12345cat > /etc/profile.d/java8.sh <<EOF export JAVA_HOME=$(dirname $(dirname...

2017-09-12
JVM参数Xms Xmx PermSize MaxPermSize 区别
常见的JVM参数配置机器含义123456-vmargs -Xms128M -Xmx512M -XX:PermSize=64M -XX:MaxPermSize=128M-vmargs 说明后面是VM的参数,所以后面的其实都是JVM的参数了-Xms128m JVM初始分配的堆内存-Xmx512m JVM最大允许分配的堆内存,按需分配-XX:PermSize=64M JVM初始分配的非堆内存-XX:MaxPermSize=128M JVM最大允许分配的非堆内存,按需分配 我们首先了解一下JVM内存管理的机制,然后再解释每个参数代表的含义。 堆(Heap)和非堆(Non-heap)内存按照官方的说法:“Java 虚拟机具有一个堆,堆是运行时数据区域,所有类实例和数组的内存均从此处分配。堆是在 Java 虚拟机启动时创建的。”“在JVM中堆之外的内存称为非堆内存(Non-heap memory)”。可以看出JVM主要管理两种类型的内存:堆和非堆。简单来说堆就是Java代码可及的内存,是留给开发人员使用的;非堆就是JVM留给自己用的,所以方法区、JVM内部处理或优化所需的内存(如JIT编译...

2023-03-21
Java和Python通过gRPC互相调用
基于前两篇,本篇介绍下如果用Java和Python通过gRPC互相调用 安装依赖123pip install grpciopip install grpcbufpip install grpcio-tools 准备.proto文件注意,该文件需要与Java项目中的.proto保持一致 1234567891011121314151617syntax = "proto3";package example;// The greeting service definition.service Greeter { // Sends a greeting rpc SayHello (HelloRequest) returns (HelloReply) {}}// The request message containing the user's name.message HelloRequest { string name = 1;}// The response messa...

2016-08-02
Mybatis中selectKey的使用
本篇介绍一下Mybatis中selectKey的使用。 在开发过程中,CRUD是免不了的,在插入数据时,通常我们只需要返回受影响行数即可,但也有些场景需要返回插入数据后的主键ID,在Mybatis中只需要使用selectKey即可实现。 自增主键使用示例通常我们会将SQL写在MyBatis的*Mapper.xml文件中,本次示例也是如此 创建表1234567CREATE TABLE `t_user` ( `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'UserId', `username` varchar(80) NOT NULL COMMENT 'username', `password` varchar(80) NOT NULL COMMENT 'password', `create_time` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT 'create_time...
评论
WalineDisqus
公告
收集笔记





