一、错误内容
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'bookController': Unsatisfied dependency expressed through field 'BookService'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.linjie.service.BookService' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)
二、控制器代码
@Controller
public class BookControllers {
@Autowired
private BookServices bookServices;
public BookControllers(){
System.out.println("BookController.....");
}
@RequestMapping(value = "/hello")
public String hellO(){
System.out.println(bookServices);
return "forward:/index.jsp";
}
}
三、配置文件
spring.xml文件的内容:
<context:component-scan base-package="com.bug">
<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
<context:exclude-filter type="annotation" expression="org.springframework.web.bind.annotation.ControllerAdvice"/>
</context:component-scan>
springmvc.xml文件的内容:
<context:component-scan base-package="com.bug" use-default-filters="false">
<context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
<context:include-filter type="annotation" expression="org.springframework.web.bind.annotation.ControllerAdvice"/>
</context:component-scan>
问题出现的情况
1.相应的类没有加注解,即没有放入spring容器当中(常用的注解
@Controller
@Service
)等等
2.小编的问题是出现在spring整合springmvc的情况下,在web.xml没有写入配置,
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:Spring.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
加入这段代码就解决了问题,希望对大家有所帮助,谢谢大家!