多模块项目无法注入mapper.java等

近来在没有dubbo的情况下分多模块项目,发现mapper.java无法注入,检查许久发现扫描开启了,mybatis配置也正确,包的路径也没问题,着实让人脑壳疼。
最后脑内灵光一闪,发现在没有dubbo的情况下,我是在web导入了service依赖:

<dependency>
     <groupId>website-parent</groupId>
     <artifactId>website-service</artifactId>
     <version>1.0-SNAPSHOT</version>
</dependency>

这样的话,等于是把service层打包成jar包导入web层,而jar包内的spring配置文件路径就会出现问题。所以要有一些修改:
首先,web层的web.xml中引入spring配置文件使用[classpath*:spring*.xml],导入service层和web层的spring配置文件。

<!--配置文件加载-->
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath*:spring*.xml</param-value>
    </context-param>

而后,service层的spring配置文件内导入其他配置文件,如jdbc.properties也会提示未注入,同样修改为[classpath*: *.properties]

    <!--注入jdbc.properties-->
    <context:property-placeholder location="classpath*:*.properties"/>

这样修改是因为classpath是只会在classpath中查找,而classpath*会在classpath以及jar包内查找。
现在看起来真的是个很简单的问题,却被折磨了一下午,唉。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值