文档章节

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

邢波涛
 邢波涛
发布于 2013/11/10 15:12
字数 651
阅读 435
收藏 16

我在 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或者只有Service,不需要接口,能死人吗?为了接口而加一个接口和一个实现类,本人深恶痛绝。

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

© 著作权归作者所有

邢波涛
粉丝 0
博文 2
码字总数 1258
作品 0
东城
高级程序员
私信 提问
加载中

评论(1)

gouchangxing
gouchangxing
觉得在自夸
Spring MVC学习路(二) 设置配置文件

添加需要的包后,在web.xml中添加如下配置 <!-- Spring MVC配置 --> <servlet> <servlet-name>springMVC</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServle......

minidai
2015/11/30
486
0
Spring MVC 与主流架构 RESTful 的集成

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 https://blog.csdn.net/GitChat/article/details/97791177 前言 这一讲来学习 Spring MVC 对...

GitChat技术杂谈
07/30
0
0
Java程序员从笨鸟到菜鸟之(六十七)细谈Spring(一)spring简介

Spring 是一个开源框架,是为了解决企业应用程序开发复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的框架。 然而...

长平狐
2012/11/12
128
0
Spring MVC请求处理流程分析

一、简介 Spring MVC框架在工作中经常用到,配置简单,使用起来也很方便,很多书籍和博客都有介绍其处理流程,但是,对于其原理,总是似懂非懂的样子。我们做技术,需要做到知其然,还要知其...

yangjianzhou
04/17
493
0
SpringMVC开发 知识点速查

SpringMVC入门 什么是SpringMVC 实现MVC设计模式的框架 SpringMVC核心组件 DispatcherServlet 前置控制器,调度 Handler 处理器,完成具体业务逻辑 HandlerMapping 将请求映射到Handler,映射...

linxinzhe
2018/05/19
0
0

没有更多内容

加载失败,请刷新页面

加载更多

TVS瞬态抑制二极管的三大特点

  TVS管瞬态抑制二极管有以下三大特点。   1、将 TVS 瞬态抑制二极管加在信号及电源线上,能防止微处理器或单片机因瞬间的脉冲,如静电放电效应、交流电源之浪涌及开关电源的噪音所导致的...

仙溪
25分钟前
2
0
6 个 K8s 日志系统建设中的典型问题,你遇到过几个?

导读:随着 K8s 不断更新迭代,使用 K8s 日志系统建设的开发者,逐渐遇到了各种复杂的问题和挑战。本篇文章中,作者结合自己多年经验,分析 K8s 日志系统建设难点,期待为读者提供有益参考。...

Mr_zebra
25分钟前
4
0
准则2.1-性能、运行Wi-Fi在iPad上一个或多个错误问题

很多开发者上架遇到这个问题,苹果那边打不开APP,加载不出来内容! 很多人以为是没有兼容ipad,其实是苹果审核都用ipad,跟有没有支持兼容没有关系。 如果自己在国内测试加载正常,要看APP...

qtb999
26分钟前
4
0
华为云学院带你7天入门Redis(2)

华为云学院带你7天入门Redis(2) 1、深度剖析memory Info是Redis提供的一个非常有用的查看状态信息的命令。使用 redis-cli 连上 Redis,输入 info all 命令,redis-server 就 会返回 Redis ...

华为云学院
33分钟前
5
0
Android 自定义View中,四个参数的构造函数的含义

MyView(Context context) Used when instanciating Views programmatically. MyView(Context context, AttributeSet attrs) Used by the LayoutInflater to apply xml attributes. If one of......

SuShine
35分钟前
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部