WEB 项目中 JUNIT ContextConfiguration 注解找不到 webapp 目录中的配置文件

本文探讨了在WEB项目中使用JUNIT进行单元测试时,遇到的无法找到webapp目录下Spring配置文件的问题。详细解释了@ContextConfiguration注解的正确用法,并提供了将配置文件放置于类路径中的建议,以确保所有配置文件能够被正确加载。

WEB 项目中 JUNIT ContextConfiguration 注解找不到 webapp 目录中的 Spring 配置文件

原因

以下写法是从类路径中获取配置文件

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {"spring.xml","spring-mvc.xml"})

修改方法

指定配置文件的具体存放位置

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {"file:src/main/webapp/spring.xml","file:src/main/webapp/spring-mvc.xml"})

项目目录结构

在这里插入图片描述

建议改成以下结构

将配置文件放在 webapp 目录中会导致很多单独的配置文件无法加载, 建议将配置文件放在类路径中, 这样使用加载比较方便, 将配置文件放在
在这里插入图片描述

将配置文件放在 webapp 目录中时 Spring 管理 MyBatis 的配置格式

<!-- 配置 MyBatis 要扫描的主配置文件,使用的数据源,和 Dao 接口配置文件 -->
<bean class="org.mybatis.spring.SqlSessionFactoryBean">
    <!-- 指定 MyBatis 使用的数据源 -->
    <property name="dataSource" ref="dataSource"/>
    <!-- 指定 MyBatis 的主配置文件 -->
    <property name="configLocation" value="file:../../SqlMapMapper.xml"/>
    <!-- 给指定包中的类都添加一个别名,默认的别名与类名相同,并且不区分大小写 -->
    <property name="typeAliasesPackage" value="com.bean"/>
    <!-- 引入指定包中的所有 dao 接口对应的写 SQL 语句的 XML 配置文件 -->
    <property name="mapperLocations" value="file:../../../com/mapper/*.xml"/>
</bean>

mapperLocations 属性值的格式是 “file:…/…/…/com/mapper/*.xml”
configLocation 属性值, MyBatis 的主配置文件试了几种路径都无法找到

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值