我们在spring-mvc.xml配置文件中配置了组件扫描,为什么还要配置注解驱动
配置包扫描:
是为了让Spring框架能够识别@Component以及@Service,@Repository,@Controller注解,并将对应类型实例化放入ioc容器中,也能够实现依赖注入。
配置注解驱动:
配置注解驱动就代替了处理器映射器和处理器适配器。如果没有就识别不了@RequestMapping注解,没法进行解析。
这里说一下SpringMVC的工作流程:
1:前端控制器:前端控制器把收到的用户请求转发给处理器映射器,然后经过一些列处理返回给用户。
2:处理器映射器:处理器映射器根据请求的URL找对应的处理器,然后再返回给前端控制器。
3:处理器适配器:前端控制器知道要执行哪个处理器之后,会把信息转发给处理器适配器,处理器适配器会调用程序写好的处理器(也就是我们controller中写好的方法)。
4:处理器:处理器根据处理器适配器的规则进行处理,处理器执行完之后,返回ModelAndView对象给处理器适配器,再给前端控制器。
5:视图解析器:前端控制器根据ModelASndView对象调用视图解析器,视图解析器解析后会返回视图View对象给前端控制器。
6:视图:前端控制器收到View对象后请求视图进行渲染,将模型数据Model填充到request域,然后再返回给前端控制器,前端控制器响应给用户。