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

2019-08-08
使用pm2运行Java程序
现在,越来越多的程序猿喜欢直接直接将容器(tomcat)嵌入到Java程序中,使其直接使用java -jar 就可以直接运行JavaWeb程序,典型的就是Spring Boot应用,以及jenkins官方提供的war包,通常大家都喜欢使用nohup java -jar jenkins.war &来运行,但这样运行并不优雅,这里就介绍如何使用pm2来运行Java程序。 环境依赖 Node.js Java 安装pm2使用如下命令安装pm2 1npm install pm2 -g 运行Java应用本次案例是运行Jenkins.war。在Jenkins官网下载war包到/data/jenkins后,在该war包同级目录/data/jenkins新建文件jenkins.json,内容如下: 1234567891011{ "name": "jenkins", "script": "/usr/bin/java", "args": [ &q...

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

2018-10-06
解决Mybatis不支持JDK1.8日期类型的问题
在之前,我们定义实体类的时候,日期一般都选用的是java.sql.Date、java.sql.Timestamp、java.util.Date等,来映射数据库中的date、timestamp、datetime等类型的字段,虽然使用JDK1.8也近三年多了,但是依旧没有用到JDK1.8的新特性,比如lambda表达式,stream流,以及日期类型。所以现在也是强迫自己能用新特性就用新特性,绝不偷懒,慢慢地也是差不多都掌握了其用法,写起来确实不错,但是在将数据保存到mysql中时,出现了如下异常 123456789101112Caused by: java.lang.IllegalStateException: Type handler was null on parameter mapping for property 'birthday'. It was either not specified and/or could not be found for the javaType / jdbcType combination specified.at org...

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...
评论
WalineDisqus
公告
收集笔记






