其他分享
首页 > 其他分享> > spring面经总结

spring面经总结

作者:互联网

 

Core Container(核心模块,为其他模块提供支持):spring-core,spring-beans AOP:面向切面 Data Access(数据库支持):spring-jdbc,spring-tx,spring-orm Spring Web: spring-mvc(提供spring对mvc的实现,赋予 Spring 快速构建 MVC 架构的 Web 程序的能⼒), spring-websocket,spring-web(web功能的实现提供一些最基础的支持)   springboot:简化配置   IOC:一种设计思想,将创建对象的控制权交由 Spring 框架来管理 举例: 在实际项⽬中⼀个 Service 类可能依赖了很多其他的类,假如我们需要实例化这个 Service,你可能 要每次都要搞清这个 Service 所有底层类的构造函数,这可能会把⼈逼疯。如果利⽤ IoC 的话,你 只需要配置好,然后在需要的地⽅引⽤就⾏了,这⼤⼤增加了项⽬的可维护性且降低了开发难度。   IOC容器:一个map,value存放对象   spring时代:xml配置bean springboot时代:注解配置bean   bean:被IOC容器管理的对象   @Autowied:默认根据类型匹配,如果有多个实现类,变成按名称匹配,@Qualifier显示指定名称。 @Resource:JDK提供的注解,name属性   bean作用域:singleton(单例),prototype(每次获取都创建一个新的),request(每次http请求产生一个新的,只在该request中有效),session(每个session产生一个新的),websocket   单例bean线程安全问题:1.用threadLocal储存 2.用fianl 修饰成员变量 3.不要设置成员变量   bean的生命周期:1.根据注解或者xml配置,利用反射创建一个bean实例 2.set方法设置bean的属性值 3根据aware设置相关依赖 4.bean前置处理 5.bean后置处理 6.destory销毁bean (不是很了解,之后细看)   AOP:将与业务无关的公共逻辑封装起来,减少重复代码,降低耦合,无侵入性   AOP基于动态代理实现:   JDK代理:被代理对象实现了某个接口   CGLIB:被代理对象没有实现接口   Spring MVC:   DispatcherServlet: 入口,负责接收请求、分发,并基于客户端响应。   HandlerMapping:处理映射器,根据uri匹配handler,类似于map,再将拦截器与handler封装   HandlerAdapter:处理器适配器   Handler:请求处理器,对应controller里的requesgtmapping方法   ViewResolver:视图解析器,将Handler 返回的视图解析并渲染,并传递给 DispatcherServlet 响应客户端   1. 客户端(浏览器)发送请求, DispatcherServlet 拦截请求。 2. DispatcherServlet 根据请求信息调⽤ HandlerMapping 。 HandlerMapping 根据 uri 去匹配查找 能处理的 Handler (也就是我们平常说的 Controller 控制器) ,并会将请求涉及到的拦截器和 Handler ⼀起封装。 3. DispatcherServlet 调⽤ HandlerAdapter 适配执⾏ Handler 。 4. Handler 完成对⽤户请求的处理后,会返回⼀个 ModelAndView 对象给 DispatcherServlet , ModelAndView 顾名思义,包含了数据模型以及相应的视图的信 息。 Model 是返回的数据对象, View 是个逻辑上的 View 。 5. ViewResolver 会根据逻辑 View 查找实际的 View 。6. DispaterServlet 把返回的 Model 传给 View (视图渲染)。 7. 把 View 返回给请求者(浏览器)   事务传播级别:       

 

标签:总结,请求,spring,面经,bean,Handler,DispatcherServlet,View
来源: https://www.cnblogs.com/sjj123/p/16677854.html