浅谈框架

对框架的认识

一、框架的作用

1.加快开发进程

2.代码重用、减少代码冗余

3.规范编程

4.便于维护

二、各个结构框架的作用

1.Spring

优点:a.开源

b.基于IoC和AOP的构架多层j2ee系统的框架,具有较好的模块选择性

c.数据访问技术提供了统一的 接口

d.Spring能有效地组织你的中间层对象

e.简化配置

缺点:

2. Hibernate

优点:a.对象/关系数据库映射,使开发更对象化

b.透明持久化带有持久化状态的、具有业务功能的单线程对象,此对象生存期很短

c.事务管理方便

缺点:批量处理数据有弱势。

处理方法:绕过Hibernate API ,直接通过 JDBC API 来做

3.Struts

优点:a.开源

b.实现MVC模式,结构清晰

c.具有丰富的Tag可以用,Struts的标签库

d.支持应用国际化

缺点:层面太多,不适合小应用

4. SpringMVC

优点:a.基于接口编程

b.灵活的model转换

c.角色划分清晰

三、对比

1. mybatis和hibernate之间的对比

a. hibernate比mybatis难度大

b. Hibernate更新快一点,工具多一些

c. 开发工作量,针对高级查询mybtis需要手动写resultMap

d. Hibernate的查询时自动生成的,可能有多余的字段,浪费资源

e. Hibernate的移植行较好Mybatis依赖所使用的数据库。

Mybatis优势

MyBatis可以进行更为细致的SQL优化,可以减少查询字段。

MyBatis容易掌握,而Hibernate门槛较高

Hibernate优势

Hibernate的DAO层开发比MyBatis简单,Mybatis需要维护SQL和结果映射。

Hibernate对对象的维护和缓存要比MyBatis好,对增删改查的对象的维护要方便。

Hibernate数据库移植性很好,MyBatis的数据库移植性不好,不同的数据库需要写不同SQL。

Hibernate有更好的二级缓存机制,可以使用第三方缓存。MyBatis本身提供的缓存机制不佳。

2. Struts2和SpringMVC的比较

a. 独享request response数据,请求数据通过参数获取,处理结果通过ModelMap交回给框架,方法之间不共享变量,而Struts2搞的就比较乱,虽然方法之间也是独立的,但其所有Action变量是共享的,给我们在编码时带来麻烦。

b. 比较耗费内存。

c. SpringMVC集成了Ajax,使用非常方便,只需一个注解@ResponseBody就可以实现,然后直接返回响应文本即可,而Struts2拦截器集成了Ajax,在Action中处理时一般必须安装插件或者自己写代码集成进去,使用起来也相对不方便。

d. SpringMVC验证支持JSR303,验证方便。

e. SpringMVC开发效率和性能高于Struts2

 

 Struts2和SpringMVC的比较部分 参考 http://blog.csdn.net/chenleixing/article/details/44570681

 

附件:

术语

1. 控制反转(Inversion of ControlIOC 第一,资源集中管理,实现资源的可配置和易管理。第二,降低了使用资源双方的依赖程度,也就是我们说的耦合度。(https://www.zhihu.com/question/23277575)

2. 面向切面编程(Aspect Oriented ProgrammingAOP)把业务无关代码分离封装。

3.简化且规范应用系统的开发与部署,进而提高可移植性、安全与再用价值的一套架构

 

你可能感兴趣的:(web框架)