在做springcloud项目时,出现了如下报错:
关键异常信息为:
1.简单看一下报错信息,找不到依赖,或者可以理解为依赖失败,看一下截取的部分报错信息
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'goshowController':
针对这个报错,网上找到了很多关于它可能的解决方案
(1) 启动类没有创建(项目都启动了,没启动类,或者启动类注解引入错误,这个一般不会是此情况,除非自己手敲启动类):
有人遇到的是这样的:测试包下的启动类不能和main的启动类 不能同名,所导致的问题;
(2) 没有在配置文件中,配置启动自动扫描Service所在的包:截取网上的两端配置信息演示:
<context:component-scan base-package="com.liglei.service"></context:component-scan>
<!-- 启动自动扫描 --> <context:component-scan base-package="com.ssm.blog.*"> <!-- 制定扫包规则 ,不扫描@Controller注解的JAVA类 --> <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/> </context:component-scan>
(3) service接口实现类上有没有加@Service注解,注解是不是引用的spring的类?不要导错包:
或者干脆,接口有没有写实现类,实现类是实现的对应接口么?比如CategoryServiceImpl implementsCategoryDAO 一不小心根据自动提示,本来应该实现CategoryService,结果实现了CategoryDAO
(4) 查看注入是否正确:比如有网友遇到:
在mapper中使用的@Mapper注解的时候
导了错误的包
import org.mapstruct.Mapper;
应该导入
import org.apache.ibatis.annotations.Mapper;
(5) 看看jar包是否下载完整,是否有这个jar包,或者依赖冲突:
比如,加了thymeleaf的jar,加入的配置如下
<properties> <thymeleaf.version>3.0.9.RELEASE</thymeleaf.version> <!-- 布局功能的支持程序 thymeleaf3主程序 layout2以上版本 --> <!-- thymeleaf2 layout1--> <thymeleaf-layout-dialect.version>2.2.2</thymeleaf-layout-dialect.version> </properties> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency>
加入配置后,我检查我们maven的jar,问题就出来了,我们springboot自己下载的版本是3.0.9,然后我再指定一个3.0.9,就导致报错了,我们只需要删掉一个即可解决此问题
去除方法如下图
或者,看看下图红色方框内是否有包没导进去,有就按照下面的步骤完成:
File–>Project Structure–>Artifacts–>右键demoPage–>Put into Output Root–>OK
确保以上步骤没问题的,重启一下项目试试~
------------------------------------------------------------------------------------------
但我遇到的问题,都不是以上情况:我的还有如下报错信息:
2.
nested exception is java.lang.IllegalStateException: Method has too many Body parameters:
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'goshowController': Unsatisfied dependency expressed through field 'goshowService'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'com.csair.lds.shell.openfeign.GoshowService': FactoryBean threw exception on object creation; nested exception is java.lang.IllegalStateException: Method has too many Body parameters: public abstract com.csair.lds.model.result.Results com.csair.lds.shell.openfeign.GoshowService.addGoshowPsg(com.csair.lds.shell.dto.PaxInfo,com.csair.lds.shell.dto.FlightInfo)