java 面试框架的理解

3 篇文章 0 订阅
2 篇文章 0 订阅

Springmvc 就是spring 框架的一个模块,它是一个基于mvc 设计思想的前段web 层框架,主要作用也前段请求进行处理

SpringMVC
Springmvc 就是spring 框架的一个模块,所以它和spring框架可以进行无缝整合,它是一个基于mvc 设计思想的前端web 框架,它也想相当于前端控制器的一个sevlet ,它的请求拦截是基于方法级别的

Spring 的MVC 框架主要是 处理器映射,处理器(控制器) 视图解析器,视图组成
1.客户端请求提交到DispatcherServert
2.处理请求Controller
3.DispatcherServlet 将提交到Controller
4.Controller 调用业务逻辑处理后,返回ModelAndView
5.DispatcherServlet 查询一个或者 多个ViewResoler视图解析器。找到ModelAndView 指定的视图
6.视图负责将结果显示到客户端

备注:
mvc 指的就是Model(业务模型),View(视图),Controller(控制器)

Struts2框架
Struts2,是一个基于mvc 设计思想的前端web 层框架,主要作用就是对前端请求进行处理。他的核心是拦截器。但是他的前端控制器是一个过滤器。它的请求拦截是基于类级别的,OGNL也提供了在Struts2 里访问各种作用域中的数据的简单方式,大大简化了获取数据的代码:

  1. 页面请求传递到后台,首先进入Strut2 的核心过滤器
  2. 进入struts2 之后会根据请求的路径到struts.xml 文件中根据 package 的 namespace 属性与 action 的name 属性配置到请求处理的Action类
  3. 匹配到对应的Action方法,执行该方法的处理。处理完成后会返回一个结果视图(字符串)
  4. 然后返回结果视图,到struts.xml 中对应Action 的result结果集中匹配对应的视图也页面
  5. 然后 result 的type 属性。转发(或重定向)对应页面(action)
    SpringMvc 和 Struts2 区别
    首先: 这两个技术已经很多年了,技术非常的的成熟,用户群体很大,不能片面的用好与不好来说。只能说是适合不适合。
  6. springmvc 入口是一个servlet 前端控制器,struts2 是一个filter 过滤器
  7. struts2 通过在action中定义成员变量接收请求参数, struts2只能使用多例模式管理action
    springmvc通过controller 方法中定义形参接收请求参数,springmvc可以用单例模式管理controller。
  8. springmvc 是基于方法开发的,注解开发中使用requestMapping 将url和方法进行映射,如果url找到controller 类的方法生成一个Handler 处理对象
    strut2 基于类开发,请求过来创建一个action实例,实例对象中有若干方法。
  9. Struts采用值栈储存请求和响应数据,通过OGNL 存取数据‘’
    springmvc 通过参数绑定器将request 请求内容解析,并给方法形参赋值。

Spring框架的理解

Spring 的核心有很多。其中比较主要是我们通常用的AOP.IOC.DI 也就是面向切面,控制反转、依赖注入。
Spring 一般是作为容器管理其他的框架,例如常见的web层框架(struts2,springMvc) 和 持久层框架(mybatis,hibernate) 一般都由spring 来管理
aop :面向切面编程,将跟业务逻辑没有关系的代码提取出来,在调用目标方法之前或者之后执行。常用的场景有,事务,日志,权限管理,异常处理

ioc:创建对象的权利,交给spring容器创建
DI 如果一个对象A 需要使用另一个对象B才能实现某个功能,这时就可以说A对象依赖于B对象,而Spring 容器在创建A对象,会自动将A对象需要的B对象注入到A对象,此过程就是依赖注入。

核心容器核心容器提供Spring 框架的基本功能。核心容器的主要组件BeanFactory,它是工厂模式的实现。
Spring 上下文:Spring 上下文是一个配置文件,向Spring框架提供上下文信息。

mybatis框架的理解

Mybatis 是一个优秀的ORM 框架,应用在持久层,它对jdbc 的 操作数据库过程进行了封装,使开发者只需要关注SQL 本身,而不需要花费精力去处理注册驱动,创建connection,等jdba 繁杂的过程代码,一般使用代理的方式开发,直接在XML里面写sql

hibernate框架的理解

Hibernate 是轻量级的持久层解决方案,是一个关系数据库ORM框架, 对JDBC 访问数据库的代码做了封装,我们可以很容易对数据库进行增删改查操作

sql 与hql 的区别
sql 是直接操作数据库的
hql 是通过操作对象来操作数据库的

Hibernate 和mybatis 对比
hibernate 配置一下方言即可,而mybatis 则需要修改sql语句
Hibernate 是一个完全的ORM 框架,完全的面向对象,更符合我们开发者的思维模式,
mybatis 需要我们手动编写sql 语句
hibernate 的优化成功比较高,因为hibernater的sql 语句都是自动生成的,所以在优化方面比较难下手
mybatis 只需要手动修改SQL 语句,更容易上手

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值