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

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

2022-08-01
JKS证书转Nginx证书
本篇介绍如何将jks(java key store)证书转换为nginx格式的证书。 因业务需要,现在需要将所有的服务升级为https的方式访问,不管是对外还是内部网络都需要升级,然后负责安全的运维只丢给我一个压缩包,解压开只有以下文件: 1234xxx.jksxxx.keystorexxx.p12 # 这个文件不提供也可以xxx_password.txt 查看jks文件中的entry1keytool -list -keystore xxx.jks 输出如下信息: 12345678输入密钥库口令:密钥库类型: PKCS12密钥库提供方: SUN您的密钥库包含 1 个条目1, 2022年8月1日, PrivateKeyEntry,证书指纹 (SHA-256): 21:BC:49:11:72:DD:7C:32:32:37:59:6F:62:38:BB:E8:D5:79:ED:D6:27:DA:D3:06:6F:32:E3:A1:CC:23:2D:AC 其中1, 2022年8月1日, PrivateKeyEntry,这一个就是一个entry的信息,1表示这个entry的别名。...

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

2020-07-25
Maven提示dependencies.dependency.systemPath的警告信息
最近对项目进行重构,期间解决了依赖冲突,将不必要的模块剔除,升级依赖版本等,做完这一切后整个项目目前运行还算正常,不过注意到使用Maven打包的时候经常会出现如下告警: 123456[WARNING] Some problems were encountered while building the effective model for com.raysdata:traffic-search-server:war:1.3.0-SNAPSHOT[WARNING] 'dependencies.dependency.systemPath' for com.cloudera.impala.jdbc:hive_metastore:jar should not point at files within the project directory, ${project.basedir}/libs/hive_metastore.jar will be unresolvable by dependent projects @ line 26, colum...
评论
公告
开始忙了,长草期。





