spring面试总结

作者: 小小少年Boy | 来源:发表于2018-07-29 22:12 被阅读122次

    spring 源码分析及知识点总结:https://www.jianshu.com/p/822b6803a6e1

    1 Spring是什么?

    是一个个轻量级的依赖注入和AOP容器框架

    使用控制反转的方式,通过依赖注入来创建对象(将创建对象的方式反转了,由Spring创建对象,依赖注入到调用者程序中)

    面向切面编程:将业务逻辑从应用服务(如事务管理)中分离出来,实现了高内聚开发,应用对象只关注业务逻辑。

    面向切面编程是面向对象编程的有力补充。面向对象编程是静态的抽象,AOP是动态的抽象,获得步骤之间的逻辑划分

    Spring的容器,管理应用对象的生命周期和配置。如对象的创建、销毁、回调等。

    参考:Spring的优点和缺点

    2 spring有什么优势?

    1.使用Spring的IOC容器,将对象之间的依赖关系交给Spring,降低组件之间的耦合性,让我们更专注于应用逻辑

    2.可以提供众多服务,事务管理,Web Service等。

    3.AOP很好支持了面向切面编程。

    4.对主流的框架提供了很好的集成支持,如Hibernate,Struts2,JPA等

    5.Spring DI机制降低了业务对象替换的复杂性。

    6.Spring属于低侵入,代码污染极低。

    7.Spring的高度可开放性,并不强制依赖于Spring,开发者可以自由选择Spring部分或全部

    Spring缺点:

    1.jsp中要写很多代码、控制器过于灵活,缺少一个公用控制器
    2.Spring不支持分布式,这也是EJB仍然在用的原因之一。

    3 Spring MCV和Spring的区别?

    Spring mvc类似于struts的一个MVC开框架,其实都是属于Spring,Spring mvc需要有spring的架包作为支撑才能跑起来。
    SSM框架—Spring+SpringMVC+MyBatis

    4 SpringMVC核心处理流程

    SpringMVC核心处理流程

    1、DispatcherServlet前端控制器接收发过来的请求,交给HandlerMapping处理器映射器

    2、HandlerMapping处理器映射器,根据请求路径找到相应的HandlerAdapter处理器适配器(处理器适配器就是那些拦截器或Controller)

    3、HandlerAdapter处理器适配器,处理一些功能请求,返回一个ModelAndView对象(包括模型数据、逻辑视图名)

    4、ViewResolver视图解析器,先根据ModelAndView中设置的View解析具体视图

    5、然后再将Model模型中的数据渲染到View上

    这些过程都是以DispatcherServlet为中轴线进行的。


    Boy-20180729

    相关文章

      网友评论

      本文标题:spring面试总结

      本文链接:https://www.haomeiwen.com/subject/vlvtvftx.html