微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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 返回给请求者(浏览器)   事务传播级别:       

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐