美文网首页
开发框架面试常问基础总结

开发框架面试常问基础总结

作者: ZYJ2016 | 来源:发表于2017-10-27 21:30 被阅读0次
  • 三层框架
  • MVC
  • SSM
  • IOC与DI
  • AOP

为什么要使用框架?(常问)

降低耦合度,提高代码复用率,提高开发效率。

三层架构的含义?

View层:用于接收用户提交请求;
Service层:系统的业务逻辑;

三层架构

SpringMVC的含义是什么?

Model:模型,承载数据,并对用户提交请求进行计算的模块;
View:视图,为用户提供使用界面,与用户直接进行交互;
Controller:控制器,用于将用户请求转发给相应的Model进行处理,并处理Model的计算结果向用户提供相应响应。

MVC工作流程

MVC

三层架构与MVC的关系

三层架构的View:对应MVC中的View和Controller;
MVC中的Model:对应三层架构中的Service和Dao。

三层架构与MVC

SSM与三层框架的关系

SSM即SpringMVC、Spring、Mybatis三个框架。

SpringMVC:作为View层的实现者,完成用户的请求接收功能。SpringMVC的Controller作为整个应用的控制器,完成用户请求的转发及对用户的响应。

MyBatis:作为 Dao层的实现者,完成对数据库的增、删、改、查功能。

Spring:以整个应用大管家的身份出现。整个应用中所有的Bean的生命周期行为,均由Spring来管理。即整个应用中所有对象的创建、初始化、销毁,及对象间关联关系的维护,均由Spring进行管理。

SSM与三层架构

Spring框架中有哪几种类?

  • Model:与数据库表一一对应;
  • Dao:编写SQL语句,调用数据库;
  • Service:业务逻辑的实现;
  • Controller:通过URL等方式与用户交互。

这些类的调用关系?

  • Dao层调用Model;
  • Service层调用Dao;
  • Controller层调用Service。

什么是IOC?(控制反转)

对于某个具体的对象而言,以前是它控制其他对象,现在是所有对象都被spring控制,所以这叫控制反转。

(IOC是Spring所倡导的开发方式:所有的类都会在spring容器中登记,然后spring会在系统运行到适当的时候,把你要的东西主动给你,同时也把你交给其他需要你的东西。
所有的类的创建、销毁都由 spring来控制,也就是说控制对象生存周期的不再是引用它的对象,而是spring。)

如何实现IOC?——DI(依赖注入)

(比如对象A需要操作数据库,以前我们总是要在A中自己编写代码来获得一个Connection对象;
有了 spring我们就只需要告诉spring,A中需要一个Connection,至于这个Connection怎么构造,何时构造,A不需要知道。
在系统运行时,spring会在适当的时候制造一个Connection,然后像打针一样,注射到A当中,这样就完成了对各个对象之间关系的控制。)

DI是如何实现的?

反射

什么是AOP?(面向切面编程)

在我们的应用中,经常需要做一些事情,但是这些事情与核心业务无关,比如,要记录所有update方法的执行时间时间,操作人等等信息,记录到日志,
通过spring的AOP技术,就可以在不修改update的代码的情况下完成该需求。

AOP如何实现?

代理

相关文章

  • 开发框架面试常问基础总结

    三层框架 MVC SSM IOC与DI AOP 为什么要使用框架?(常问) 降低耦合度,提高代码复用率,提高开发效...

  • JVM面试常问基础总结

    JVM内存模型 JVM垃圾回收 1. JVM内存模型 线程隔离的三个区:程序计数器:当前线程所执行的行号指示器,指...

  • 编程基础知识

    这里总结一下在软件开发中经常碰到的、很基础的,却很少去思考的东西,当然也是面试常问的问题。 一、“面向过程”与“面...

  • 给大家整理了一些阿里技术面试题目

    题目目录 技术一面(基础面试题目) 技术二面(技术深度、技术原理) 项目实战(项目模拟面试) JAVA开发技术常问...

  • android常问面试总结

    android面试重点: 1.app启动流程 2.Handler机制 3.Binder机制 4.线程 5.事件分发...

  • 多线程并发面试常问基础总结

    1. 线程与进程的区别? 线程是CPU调度和分派的基本单位;进程是系统调度和分配资源的基本单位; 2. 实现多进程...

  • 面试常问C++基础

    有关语言基础: c/c++程序的编译过程(GCC的编译流程) 强类型语言 VS 弱类型语言 数组和指针的区别 字符...

  • 面试常问的问题总结

    1、我们为什么要雇请你呢? 有的面试只有这么一个问题。 2、你认为自己最大的弱点是什么? 绝对不要自作聪明地回答"...

  • 2020前端面试题

    前端面试类型我大致总结为五类: 1、基础题(包括js基础、css、网络知识)2、框架(jquery、vue、rea...

  • 前端面试题总结(js、html、小程序、React、ES6、Vu

    文档描述 本文是关注微信小程序的开发和面试问题, 由基础到困难循序渐进, 适合面试和开发小程序。 并有热点框架(v...

网友评论

      本文标题:开发框架面试常问基础总结

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