web开发中,因应用所属行业领域不同,对系统架构的选择也不同,系统架构决定了整个系统性能


和其他各种技术指标。
   

    J2EE开发中,通常选用以下三种架构:


1,SSH


即spring+struts+hibernate
hibernate是一个ORM框架,应用在DAO层。
struts是一个MVC框架,用在web层。
spring是一个容器型框架,主要应用其IOC(依赖注入)和AOP(面向切面)特性,进行整个系统的
事务管理和在代码层面上对各种业务bean进行装配。

   架构特性:


DAO层由hibernate负责,是使用面向对象的编程思想进行数据访问层的操作,后台开发人员不
必关心数据库类型,不必写SQL语句,hibernate底层会自动生成SQL,只需通过HBM对象关系映射配置文
件,配置每个MODEL bean和库表的对应关系。

系统移植,更换数据库比较容易。


   缺陷:


效率相对不高,HQL语句限制比较对,例如多表连接查询用HQL就显得比较麻烦,当关联条件表
多的时候,配置很麻烦。

多表关联查询,条件字段比较多的情况,最好不要用使用HQL语句。


   适应场合:


比较适合数据访问量不高的对内应用系统,对系统性能效率要求不高的场合。

2,SSI


即spring+struts+ibatis
和SSH相比,这里使用ibatis代替hibernate。
ibatis也是一个轻量级ORM框架,ibatis使用sqlMap配置文件来配置model bean对应库表的操
作。通过在sqlMap直接书写SQL语句,可以减少很多不必要的SQL操作,通过对SQL进行精炼、优化,很

大限度的提高数据库操作效率。


   架构特性:


数据库操作效率快,解决了SSH产生的多表连接的麻烦。


   缺陷:


要求后台开发人员比较熟悉SQL语法,对SQL优化有一定的掌握。

系统移植,更换数据库相对SSH架构要麻烦些。


   适应场合:


对数据库操作效率有比较高的要求。


3,springMVC+ibatis


相比前两种,去除了struts框架,使用spring的MVC组件代替。
这种架构,目前很流行,尤其在互联网、大数据行业应用广泛。

主要由于对整个应用系统性能、安全性等方面的作用,使得其适合。


   架构特性:


效率高、安全、易用,有很强大的注解特性。


   适应场合:


对严格要求系统性能、数据访问量比较大的互联网应用及同样要求的其他行业应用。








Logo

开源、云原生的融合云平台

更多推荐