我把自己的架构转移到了Spring MVC了

我在 2011年出版了 一本图书《B2B2C网上编程指南--基于SaaS和淘宝API开放平台》 那时我的快速开发框架已经比较成熟了,那时从心里比较讨厌Spring 和Hinernate的配置文件,所以那时在那本图书里吐槽了SSH。

不过,2年多来,Spring的MVC有了巨大的改进,Spring MVC+MyBatis大有把SSH抛弃的趋势。重新关注了一下Spring之后,感觉Spring MVC比自己以前的MVC框架,还是方便了很多,主要是事务的控制和数据库连接池的控制,我自己一直做得不太好。我的框架的强项是复杂业务流程的拆解和业务流程动态插件化,着重在业务流程方面。MVC+事务+数据库连接池做的确实不太好,所以周末花了一天时间,去掉了自己的MVC,用Spring 的MVC接管了自己的MVC,业务流程框架还是用自己的,前台原来用的是Flex,也替换成了BootStrap,支持MySQL+Oracle的基本迁移完成,支持MongoDB版本的,还需要再花一天的时间。有时间打算再把AngularJS也加到自己的框架里,这样这个框架就比较完美了。

数据存储方面,我还是没有使用MyBatis,还是使用了自己以前的框架,MyBatis现在虽然跟Spting集成的很方便,DAO也已经简化成了Mapper接口,无需任何实现,但还是需要Service(一个接口,一个实现类)+DAO(Mapper)+MyBatis的配置文件,个人感觉还是太理论和公式化,没有Interface,Action直接调用Mapper或者只有ervice,不需要接口,能死人吗?为了接口而加一个接口和一个实现类,本人深恶痛绝。

我自己的数据库存储,无需任何配置文件,也不需要一个Interface、一个ServiceIml和一个DAO以及一大堆Mapper的XML配置文件,从前台直接传JSON格式的Key/Value数据,通过JDBC直接存储到MySQL/Oracle/MongoDB数据库中,无论是SQL关系型数据库,还是MongoDB这类NoSQL数据库,都是适用的。而且,MyBatis/Hibernate这类O/R mapping工具,他们的缓存就是鸡肋,对于一个企业内部的数据做缓存,尚还凑合,不过,我们现在做的系统,数据量都很大,一般都是互联网化的企业软件,所以他们的缓存,还不如没有。

猜你喜欢

转载自blog.csdn.net/bjblues/article/details/15028145