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

  • 三层框架
  • MVC
  • SSM
  • IOC与DI
  • AOP

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

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

三层架构的含义?

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

开发框架面试常问基础总结_第1张图片
三层架构

SpringMVC的含义是什么?

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

MVC工作流程

开发框架面试常问基础总结_第2张图片
MVC

三层架构与MVC的关系

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

开发框架面试常问基础总结_第3张图片
三层架构与MVC

SSM与三层框架的关系

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

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

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

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

开发框架面试常问基础总结_第4张图片
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如何实现?

代理

你可能感兴趣的:(开发框架面试常问基础总结)