面试题目1:spring和springmvc的区别与联系
一、spring框架的介绍
spring是一个一站式的框架,提供了表现层(springmvc)到业务层(spring)再到数据层(springdata)的全套解决方案;spring的两大核心IOC(控制反转)和AOP(面向切面编程)更是给我们的程序解耦和代码的简介提供了支持。
二、springmvc
(1)springmvc给spring的表现层提供支持
(2)springmvc的流程:
1、 用户发送请求至前端控制器DispatcherServlet;
2、DispatcherServlet收到请求调用HandlerMapping处理器映射器;
3、处理器映射器根据请求url找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet;
4、DispatcherServlet通过HandlerAdapter处理器适配器调用处理器,执行处理器(Controller,也叫后端控制器);
5、Controller执行完成返回ModelAndView,并返回给HandlerAdapter,HandlerAdapter将结果返回给DispatcherServlet;
6、DispatcherServlet将ModelAndView传给ViewReslover视图解析器,ViewReslover解析后返回具体View给DispatcherServlet;
7、DispatcherServlet对View进行渲染视图(即将模型数据填充至视图中)后返回给给客户
三、AOP与IOC
(1)AOP与IOC给spring的业务层提供支持,使程序的耦合度更低,代码更简介
(2)AOP原理:既面向切面编程,就是提取公共部分,集中解决一些公共问题
(3)IOC原理:控制反转。在传统过程中,当某一个对象依赖于另外一个对象时,会由该对象去创建另外一个对象,有了ioc后,将创建过程交给IOC,由spring创建bean,从而只需给该对象注入即可
---------------------
作者:jonesAriven
来源:CSDN
原文:https://blog.csdn.net/jonesAriven/article/details/80036602