今天在写SSM项目的时候,遇到Handler dispatch failed; nested exception is java.lang.StackOverflowError这样的错误,真的是我太马虎,这里SSM是用聚合项目来管理各个模块,对于不同的service和dao模块之间可能需要手动依赖
StackOverflowError通常情况下是死循环或者是循环依赖了。
出现这样错的原因:没有在service层中正确依赖dao层,导致循环依赖
太马虎,直接根据IDEA提示在ProductServiceImpl里又依赖了IProductService,(马虎)原来我的IDEA没有自动提示我导入dao的依赖
解决办法:
我手动在service模块中导入了dao层的依赖,这才自动提示出dao层的方法
这是service模块的pom.xml文件,在这个xml文件中依赖了dao层
<dependency>
<groupId>pers.ithema.heima_ssm</groupId>
<artifactId>heima_ssm_dao</artifactId>
<version>1.0-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
重启就行了。