BeanCreationException: Error creating bean with name ‘customerController’: Injection of autowired dependencies failed
BeanCreationException:Injection of autowired dependencies failed异常的解决思路
我的异常截图
Caused by: org.springframework.beans.factory.BeanCreationException: Could not autowire field: private com.itheima.crm.service.BaseDictService com.itheima.crm.controller.CustomerController.dictService; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [com.itheima.crm.service.BaseDictService] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [com.itheima.crm.service.BaseDictService] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
以上两个出错信息说service没有自动注入,需要加上Autowired(required=true)注解,可是都已经加入了注解了,还是报错
@Service
public class BaseDictServiceImpl implements BaseDictService {
@Autowired(required=true)
private BaseDictMapper baseDictMapper;
@Override
public List<BaseDict> getBaseDictByDictCode(String code) {
return baseDictMapper.getBaseDictByDictCode(code);
}
}
<!-- 配置@controller扫描包 -->
<context:component-scan base-package="com.itheima.crm.controller"></context:component-scan>
<!-- 配置注解驱动 -->
<mvc:annotation-driven/>
<!-- 配置视图解析器 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/jsp/"></property>
<property name="suffix" value=".jsp"></property>
</bean>
我的文件结构是这样的基本检查了很多篇代码就是没问题,结果在web.xml文件发现了个问题
<!-- 配置spring -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring/application-*.xml</param-value>
</context-param>
原来是classpath:spring/application-.xml写错了,只要写上classpath:spring/applicationContext-.xml问题就全部解决了,我是参考这位大牛的