物业

液压机械/部件2021年09月06日

struts、spring、hibernate/ibatis你会删除那个?为什么?

struts、spring、hibernate/ibatis你会删除那个?为什么?

这是一道面试题,我当时犹豫了一下,说会删除struts。

面试官问为什么,我说去掉struts,可以用servlet来替你它,毕竟action层的作用使用servlet完全可以替代。

作用:接受客户端的请求,负责分发至相应的action,通过actionForm拿到相应数据,调用相应的service层,负责转向相应的页面。

回答完之后,又想到了,ibatis或者hibernate的作用使用jdbc不是也能替代吗?

作用:完成一个对象与数据库打交道的过程。也使得开发更具对象化,在某种情况下也提高了生产力,移值性会非常容易,sql语句和代码的分离,使得维护更加容易。

而spring随然说现在还没有一个可行的方案来替代他,但是如果完全不使用它,也不是没有可能。

作用:声明事务,依赖注入,解耦合,配置客户端访问应用程序的方式是单实例还是多实例。

这个应该是在hibernate ibatis里面来选,,因为这两个都是orm框架。其作用也差不多。

知道这个之后就简单了。。

其实面试官真正想问你的是,hibernate和ibatis的优缺点。。

你了解他们的优缺点之后,那么就好回答了。。

在什么情况下删除哪个,什么情况下删除另外个。也就是在什么情况下用hibernate,什么情况下用ibatis。

上很多他们的区别。说得也还可以。。

其实真正的用什么框架是要针对项目而言,所以面试官的意思不是真的要你给他一个准确答案。。但是要说得合情合理。

我选ibatis,虽然ibatis上手容易,可以编写更加灵活的SQL语句。

但是,感觉这样会使得开发的工作量非常大。

我们公司从来都是一个人搞定一个项目,

这样的情况下,使用Hibernate3在不使用配置文件(使用Annotation)的情况下,很快就能完成持久层的开发。

而使用ibatis呢?没一个交互过程都要写一个SQL语句,配置文件还有处理映射关系。

最起码,代码量是上去了。

干得多了,就会感觉特别麻烦,有时候总在想,还不如直接JDBC来得快些。

我会选择struts。

对于MVC的完美体现 struts在新一带技术面前显的比较脆弱。它只能看做是servlet的扩展,本人认为项目中可有可无。虽然struts2加入了ajax,

我认为这是struts2的一个败笔。

spring 不用说了,一个高性能、高扩展、面向接口的思想 、多种设计模式融合在一起的优秀容器。

hibernate和ibatis 都还不错。对于dao层的设计目前经常用到。

如果删除了 struts可以用servlet来代替,也可以用springMVC来代替。我们目前的项目是springMVC+hibernate.

我肯定留下Spring

另外2个删除哪个要看具体的情况了~

比如业务逻辑超级复杂,并且要求数据访问灵活我会把ORM工具去掉直接用JDBC

如果WEB方面要求Ajax比较多,我会把Struts去掉

如果一定要权责的话,我会选择Hibernate的,同是ORM组件的iBatis比它更加轻便。

退一万步在说和数据库交互JDBC都足够用了。

而作为控制的struts和作为容器的spring应该是不可或缺的吧

个人觉得只需要SPRING,因为struts对程序而已没有多大的优化了。hibernate对SQL优化很有限制,如果是大量数据的话比如银行,移动hibernate 根本就不行,还不如直接用JDBC连接,搞个公共类,既简单也轻量。

要我回答没准是spring!也没准是hibernate/ibatis

企业程序基本类似数据中心。共享性也不高。spring强调非侵入,对象创建方式。恰恰击中spring软肋,优点到变成缺点。

spring的确规定了VIEW操作,真要是做了,美观就难做。

spring反射对象基本双倍。而且经常包冲突。稳定性也不高。前置监听,环绕监听我采用struts2.1拦截器代替。

struts2.1+ 本身就有反向映射注入功能。

最终程序定性:

struts2.1 + JDBC3.0 + EJB3.0 +一个缓存产品。

看项目的大小:

如果项目大应用的数据表多的,客户发送的请求多,我一个也不会删!

数据表多,客户发送的请求少删struts:数据表多就应该用hibernate和spring的组合

数据表少,客户发送的请求多删hibernate。

但它真的发挥作用了 项目小我会只用struts:

呼和浩特男科医院哪家好
华润江中
南通治疗包皮过长多少钱
相关阅读
凯赛生物(688065.SH)核心技术人员陈万钟卸任离任

凯赛生物(688065.SH)发布公告,公司一个中心工作人员陈万钟恩师因年龄原因退...

2023-09-23
CWNS0.7-85/60-QY改型1吨

30mg超偏极低氟两大技术 ULTRA-LOW NITROGEN TECHNOLOGY 使用两大偏极低氟气化胆两大...

2023-09-22
每经14点 | 国家医保局:继续降低乙型肝炎、核酸检测等价格;雄安新区为拟挂牌上市企业提供“一对一管

每经总编:陈鹏程 1丨雄安高新区为拟万科母该公司民营企业提供“PK管家式...

2023-09-14
移动式核酸采样工作站团体新标准参数即将发布

日前,上海托尔实业Ltd为首天津威斯巴登太阳光科技Ltd、上海宽度睿实业Ltd电...

2023-09-12
孙悟空为何很少下水?真的是水性不好?其实是责怪他报复

众所周知,齐天大圣妖魔是个神通广大的人物。去年大闹天宫,十万天兵天将...

2023-09-11
丹寨县金泉街道:“三强化”推进特殊人群加强针传染病工作

未来会,国际间霍乱呈分时散发态势,霍乱联合国开发计划署形势严峻比较简...

2023-09-10
友情链接