中国大数据教育领跑者

IT培训上市机构

您现在的位置:首页 > Java培训 > java求职技巧>Java开发面试知识点总结之MVC 框架相关知识点

Java开发面试知识点总结之MVC 框架相关知识点

2018-01-12 18:31:31 作者:魔据大数据学院

Java开发者在面试的时候都可能遇到哪些知识点呢?相信这是很多参加Java技术培训Java初学者都想要知道的问题,今天魔据教育的Java技术培训班就为大家分享一篇Java开发面试知识点总结。今天先给大家分享一下基础知识面试中的MVC 框架相关知识点

我在项目中使用的框架有 Spring MVC MyBatis,所以在简历上只写了这两种框架,面试官主要针对这两种框架进行提问。以下问题供小伙伴们参考。

JavaWeb 开发经典的 3 层框架:Web 层、Service 层(业务逻辑层)和 Dao 层(数据访问层)

Web 层:包含 JSP Servlet 等与 Web 相关的内容;

业务层:只关心业务逻辑;

数据层:封装了对数据库的访问细节。

Spring 知识点

1Spring IOC AOP 有了解吗?

答:

IOC:控制反转,(解耦合)将对象间的依赖关系交给 Spring 容器,使用配置文件来创建所依赖的对象,由主动创建对象改为了被动方式;

AOP:面向切面编程,将功能代码从业务逻辑代码中分离出来。

2AOP 的实现方式有哪几种?如何选择?(必考)

答:JDK 动态代理实现和 cglib 实现。

选择:

如果目标对象实现了接口,默认情况下会采用 JDK 的动态代理实现 AOP,也可以强制使用 cglib 实现 AOP

如果目标对象没有实现接口,必须采用 cglib 库,Spring 会自动在 JDK 动态代理和 cglib 之间转换。

扩展:JDK 动态代理如何实现?(加分点)

答:JDK 动态代理,只能对实现了接口的类生成代理,而不是针对类,该目标类型实现的接口都将被代理。原理是通过在运行期间创建一个接口的实现类来完成对目标对象的代理。

定义一个实现接口 InvocationHandler 的类;

通过构造函数,注入被代理类;

实现 invokeObject proxy, Method method, Object[] args)方法;

在主函数中获得被代理类的类加载器;

使用 Proxy.newProxyInstance( ) 产生一个代理对象;

通过代理对象调用各种方法。

解析:关于 IOC AOP 的详细阐述,请各位参阅我的博客:Spring 核心 AOP(面向切面编程)总结,Spring 框架学习控制反转(IOC

3Spring MVC 的核心控制器是什么?消息处理流程有哪些?

答:核心控制器为 DispatcherServlet。消息流程如下:

Java开发面试知识点总结之MVC 框架相关知识点 

Java开发面试知识点总结之MVC 框架相关知识点

4)其他问题包括:重定向和转发的区别、动态代理和静态代理的区别等。

Mybatis 知识点

关于 MyBatis 主要考察占位符#$ 的区别,区别如下:

符号将传入的数据都当做一个字符串,会对自动传入的数据加一个双引号;

$ 符号将传入的数据直接显示生成 SQL 中;

符号存在预编译的过程,,对问号赋值,防止 SQL 注入;

$ 符号是直译的方式,一般用在 order by ${列名}语句中;

能用#号就不要用 $ 符号。

小结:限于作者水平,MVC 框架方面了解不是太多,实战能力欠缺。面试官偶尔问框架底层实现原理等都知之甚少,有能力的小伙伴可以多加学习。

 

相关推荐
[免责声明]本文来源于网络转载,仅供学习交流使用,不构成商业目的。版权归原作者所有,如涉及作品内容、版权和其它问题请在30日内与本网联系,我们将在第一时进行处理

值班手机:18501996998

咨询QQ: 226594285 / 428683440

校区地址:北京市海淀区中关村科技园首农蓝海中心C座-7层

全国咨询热线:400-690-5006

点击关注:

魔据教育官方微博

魔据官方微信