`

Bboss mvc和struts的简单对比

 
阅读更多
很多朋友经常谈论下面的话题:
“我看了bboss mvc的架构图和部分代码,发现和struts1.x的架构几乎完全一样,请问bboss mvc有自己独有的特点吗?”

现在我们就这个话题做一个简单的探讨。

所有的mvc框架的原理基本上都是一样的,bboss mvc和struts都实现了mvc2模式,但是他们的区别还是非常大的:
第一、struts和bboss mvc的view层得标签库完全不一样,bboss有自己的分页标签,struts就没有。

第二、bboss mvc的控制器是通过bboss ioc来管理的,struts没有自己的ioc容器,当然struts也可以借助于spring来达到这个目的。

第三、bboss mvc中的控制器依赖业务组件也是通过bboss ioc容注入的,当然struts也可以借助于spring来达到这个目的。

第四、采用bboss mvc来开发应用时,持久层可以采用bboss 持久层来开发,持久层提供了通用的dao,无需再编写自己的dao,同时这个通用dao也是直接通过bboss ioc直接注入业务组件的,这些特性都是struts没有的。

第五点,也是最重要的一个区别,bboss mvc中的控制器都是单实例的,控制器方法的参数绑定机制比struts要灵活得多,每个参数都是方法参数,可以非常方便地实现list、map、array、日期等类型的数据绑定。而struts 2的控制器是多实例的并且控制器方法参数都要是以类全局参数的方式来绑定的。

第六个区别,struts 1.x好像还需要配置formbean,而bboss mvc是不需要的。


第七点,bboss mvc可以非常方便地支持json/jsonp、文件上传下载等功能,struts应该也可以,但是实现起来估计没有bboss那么方便。

另外可以从整体上看一下bboss mvc的结构图(见下图),图的左侧区域就是通用的mvc2结构,这个和struts之类的mvc框架都是一样的,不同的是图的右侧区域,bboss mvc中的view、controller、model(包括model层下面的dao层)都是通过bboss ioc来进行配置、管理和监控的,也就是通过bboss ioc来综合治理bboss mvc的各个层面,这些特性我想struts也是没有的。



 
当然,struts也有它特有的优势特点,本人对struts接触不多,所有上面仅代表我个人的看法,如有不妥可进一步探讨,希望通过与大家的深入交流发现bboss 的不足并加以改进,同时吸取其他框架的优势特点,把bboss做的更好。

  • 大小: 44.2 KB
分享到:
评论

相关推荐

    bboss mvcdemo 下载地址

    - 快速入门:简单的示例展示如何创建第一个BBoss MVCDemo应用,包括编写控制器、模型和视图。 - 请求处理:讲解BBoss MVCDemo如何处理HTTP请求,包括URL映射、参数绑定和返回值处理。 - 模型层详解:介绍如何定义...

    bboss mvc 通过jsonp实现跨站跨域远程访问

    标签“源码”提示我们,这可能涉及到查看和理解bboss MVC的源代码,以了解其内部如何处理JSONP请求。对于开发者来说,深入理解框架的源代码有助于更好地定制和优化跨域请求的处理。 “工具”标签可能指的是bboss ...

    bboss mvc文件上传下载实战进阶

    NULL 博文链接:https://yin-bp.iteye.com/blog/1131637

    bboss-mvc.jar

    官方版本,亲测可用

    bbossgroups 开发系列文章之一 最佳实践

    bboss-mvc.xml是bboss MVC的核心配置文件,它定义了系统的全局设置,如视图解析器(View Resolver)和消息源(Message Source)。视图解析器负责将处理结果转换为用户可以查看的页面,例如JSP。在这里,配置了...

    基于bboss框架的全面设计源码自动生成工具

    该工具是一款基于bboss...此工具能够自动生成bboss MVC、IOC、持久化、JSP、i18n、SQL配置文件、Web服务、Hessian服务等相关源代码,适用于快速开发和项目迭代。详细文档请参考:http://yin-bp.iteye.com/blog/2256948

    企业级J2EE开源框架bboss

    2. **数据库操作**:BBoss提供了便捷的数据访问层(DAO),支持SQL动态生成、事务管理以及多种数据库的兼容性,使得数据库操作变得简单且高效。 3. **服务治理**:框架内置了服务注册与发现机制,可以实现微服务...

    bboss-gencode:这是一个自动为bboss mvc,ioc,persistent,jsp,i18n,sql配置文件,webservice,hessian服务等生成源代码的工具。Dev文档yin-bp.iteye.comblog2256948-mvc source code

    自动代码生成器是针对bboss框架和bboss开发平台的自动代码生成工具,可以根据模板,自动生成给定表的增,删,改,分页查询,列表查询,国际化功能对应的程序和配置文件: 1.mvc控制器 2.业务组件 3.实体类 4.jsp文件...

    springboot整合bboss es增删改查测试demo代码

    展示了通过spring boot管理单集群功能和管理多集群功能 单集群测试用例:eshelloword-spring-boot-starter\src\test\java\org\bboss\elasticsearchtest\springboot\BBossESStarterTestCase.java 单集群演示功能...

    bboss会话共享培训文档

    bboss会话共享是一种分布式会话管理技术,它针对在集群环境下应用部署时如何解决会话数据丢失和单点登录问题提供了专门的解决方案。根据提供的文档内容,我们可以详细探讨bboss会话共享涉及的关键知识点。 首先,...

    bboss-elasticsearch开发环境搭建和开发入门视频教程.

    BBoss 是一个针对 Elasticsearch 的企业级开发框架,它提供了丰富的 Java API,使得开发者可以更简单地进行索引管理、查询构建、结果分析等操作。BBoss 还支持多版本兼容,方便应对 Elasticsearch 的升级问题。 **...

    Bboss和xstream序列化反序列化性能对比1

    首先,Bboss和Xstream都提供了简单易用的API来实现序列化和反序列化。在测试中,我们观察了它们对特定数据结构的处理效率,这些数据结构包括基本类型(如int和String)、日期、数组、列表、映射、集合以及嵌套的对象...

    由 bboss 开源的数据采集&流批一体化工具,提供数据采集、数据清洗转换处理和数据入库以及数据指标统计计算流批一体化处理功能

    完成清洗和转换后,bboss-datatran 可以将处理后的数据加载到不同的存储系统,如Hadoop HDFS、Hive、HBase、Elasticsearch、Greenplum、Oracle等。这为用户提供了灵活的数据存储选择,并且支持数据分片、分区策略,...

    bboss+es基本操作示例.zip

    bboss是针对企业级应用开发的轻量级框架,其对Elasticsearch的封装简化了开发过程,提供了简单易用的API接口。bboss支持JDBC式的操作方式,使得开发者可以像操作数据库一样操作Elasticsearch,提高了开发效率。 3....

    bboss分布式事件框架介绍文档

    bboss分布式事件框架是针对分布式系统中事件驱动模型设计的一种解决方案,它能够有效地解决缓存实时刷新问题,提高集群间数据一致性,并且支持集群和非集群环境下事件的发送与接收。下面将详细解释bboss分布式事件...

    bboss elasticsearch介绍

    bboss es特点请访问: https://www.oschina.net/p/bboss-elastic

    bboss elasticsearch-5.7.8.rar

    它基于Lucene构建,提供了分布式、 RESTful风格的接口,使得数据存储、检索和分析变得简单高效。BBoss Elasticsearch是针对Elasticsearch设计的一款辅助工具,主要用于帮助开发者实现数据库数据到Elasticsearch的...

Global site tag (gtag.js) - Google Analytics