搭建ssm,我看了好多教程,结果都没成功,这次终于成功了,同时也发现了期间犯得一些错误,在这里分享下
1、缺少jar包类问题
No default constructor found;nested exception is java.lang.NoClassDefFoundError:org/apache/commons/pool/KeyedObjectPoolFactory
需引用commons-pool.jar
2、引用mapper接口时,接口和配置文件路径不一致问题
Invalid bound statement (not found): com.yiibai.mapper.UserMaper.getUserById
mapper.xml的namespace名字必须与接口的路径一直,否则会找不到
3、扫描包问题
需要配置的扫描配置有两个,springmvc需要配置扫描包,spring的配置文件也需要配置扫描包
springmvc的扫包
<mvc:annotation-driven/>
<context:component-scan base-package="cn.ssm.controller"/>
spring的扫包
<!-- 自动扫描 -->
<context:component-scan base-package="cn.ssm.controller">
<!-- 扫描时跳过 @Controller 注解的JAVA类(控制器) -->
<!--<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>-->
</context:component-scan>
4、mapping 自动装配问题
使用接口,配置mapping.xml,使用idea,配置文件放在resources中,这时配置serviceimpl中mapper接口的自动装配,会提示could not autowire,这时不需要进行任何操作,只要你的spring中的配置文件已经正确配置了接口和配置文件的配置,就没问题,直接启动就可以使用
另外附上我参考的项目用例地址:项目代码实例