java面试 谈谈对ssh三大框架的理解

2024-12-13 16:18:00
推荐回答(3个)
回答1:

首先hibernate是一个持久层框架,轻量级(性能好),orm映射灵活,对表与表的映射关系处理的很完善,对jdbc做了良好的封装,使得我们开发时与数据库交互不需要编写大量的sql语句。
而struts是一个mvc的web层框架,底层是对servlet的大量封装,拥有强大的拦截器机制,主要负责调用业务逻辑Service层。

三大框架的大致流程jsp->struts->service->hibernate。因为struts负责调用Service从而控制了Service的生命周期,使得层次之间的依赖加强,也就是耦合。
所以我们引用了spring,spring在框架中充当容器的角色,用于维护各个层次之间的关系。通过IOC反转控制DI依赖注入完成各个层之间的注入,使得层与层之间实现完全脱耦,增加运行效率利于维护。
并且spring的AOP面向切面编程,实现在不改变代码的情况下完成对方法的增强。比较常用的就是spring的声明式事务管理,底层通过AOP实现,避免了我们每次都要手动开启事物,提交事务的重复性代码,使得开发逻辑更加清晰。

这样应付面试应该可以了,不过他可能会细问,比如hibernate的懒加载,spring的AOP和IOC原理等,这个还需要在准备准备

回答2:

struts2是一个控制器,负责接收页面数据并调用视图层的方法返回页面所需要的数据,hibernate负责数据的持久化,因为现在一般采用的数据库都是关系型数据库,而java是面向对象的,所以hibernate负责数据的落地,spring则把变化封装了,通过spring完成依赖注入,能降低各个模板间的耦合,有利于提高项目各个模板间的复用,使系统更加趋近于高内聚,低耦合的要求,其实都要看自己的理解的同,别人怎么说都是别人的理解,经过代码的实践和自己遇到 问题的思考也会对SSH框架有更好的理解。

回答3:

spring 啊 讲讲applicationContext的配置 讲讲spring对对象的管理。扯扯AOP 依赖注入,struts讲讲mvc,hibernate讲讲配置啦 DAO曾怎么做啦。SSH整合么,讲讲连接池在Spring里怎么配置,监听器怎么在web。xml写,spring struts插件,struts整合spring以后怎么写struts。xml。没了