您的位置:首页 > 编程语言 > Java开发

spring service 注入问题

2018-03-06 00:00 316 查看
摘要: service注入报错异常

用spring、springmvc框架开发项目。junit测试的时候测试类报错。

Caused by: org.springframework.beans.factory.BeanNotOfRequiredTypeException: Bean named 'aaa' must be of type [com.itech.ups.app.comManager.application.service.ComSysManagerService], but was actually of type [com.itech.ups.app.system.manager.application.service.ManagerServiceImp]
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:374)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:198)
at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.autowireResource(CommonAnnotationBeanPostProcessor.java:443)
at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.getResource(CommonAnnotationBeanPostProcessor.java:417)
at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor$ResourceElement.getResourceToInject(CommonAnnotationBeanPostProcessor.java:542)
at org.springframework.beans.factory.annotation.InjectionMetadata$InjectedElement.inject(InjectionMetadata.java:155)
at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:87)
at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessPropertyValues(CommonAnnotationBeanPostProcessor.java:304)
... 25 more

整理如下图
在service的impl上添加service(“xxx”)
![![![![![

]

在controller类里自动注入



当controller里新定义的注入类别名和service注解里的一致时,就会运行有service注解的service。

而我这里是两个service,运行直接报错,类型不匹配。

当名称不一致时则会找到对应类型的service注入并成功运行。

总结:注意多个service注解内的名称与注入的service名称一致可能会报错。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  spring 自动注入