项目启动报错:
报错内容:
Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'sysParamOrgController': Unsatisfied dependency expressed through field 'service'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'sysParamOrgService': Unsatisfied dependency expressed through field 'mapper'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'tk.mybatis.mapper.common.Mapper<com.dhcc.upsr.manage.parm.common.entity.SysParamOrg>' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
原因分析:
项目在启动中,上下文中某些依赖没有找到;
1.跟着错误顺序查看到:
Error creating bean with name 'sysParamOrgController' --错误的创建了这个bean
2.接着发现Controller创建错误,由于service依赖没有找到
Error creating bean with name 'sysParamOrgService'--错误的创建了这个bean
3.接着看到发现Mapper的依赖没有找到
分析报错:
tk.mybatis.mapper.common.Mapper<com.dhcc.upsr.manage.parm.common.entity.SysParamOrg>' available: expected at least 1 bean which qualifies as autowire candidate.
tk.mybatis.mapper.common.Mapper<..>--使用的通用接口,接口里面的时对应的service对象
即通用接口Mapper根据传递的Service层对象com.dhcc.upsr.manage.parm.common.entity.SysParamOrg
去找继承通用接口Mapper的Dao层,没有找到它依赖的SysParamOrgDao对象,所以报错了
解决:
去代码中发现,确实少了对应的SysParamOrgDao,找到git版本补上,即解决