用Spring Mvc已经2年多了,刚接触struts2时,还是感觉struts这个东西很好用,那是因为原来的系统特别闭塞,底层功能很难扩展,导致做复杂一点的业务系统都需要耗费程序员很大的精力。那时大量的业务系统通过表单中的js实现,通过ajax和复杂的js代码实现一个并不是很复杂功能,使用这种方式构建系统,因为表单本身是存在数据库中,即使是开发了一些比较好用的功能,也很难得到推广和学习,这样无形中导致了很多重复的工作在不停的运作。复杂一点的统计查询,就需要使用视图组件,这也是个吃力不讨好的东东,费了很大精力做个视图,仅仅是满足一下多表查询和汇总统计这样一点也不复杂的功能,可以说是扩展性大打折扣。
自从开始独立后台开发,发现原来还有这么多的彩蛋。以前那种方式确实很难满足复杂业务需要,引入了hibernate之后,就不再使用视图了,只要有关系,多表查询都不再是问题了,引入了strtus,并且建立三层架构,后台一下变得清晰起来,不用把那么多的业务逻辑全部塞到一个表单里了(毕竟这样也不安全)。自己的业务由自己的业务模块负责处理,不再专门由一个单独的业务逻辑类完成所有的工作了,毕竟一个业务系统复杂性也不仅仅限于增删改查,还有很多特定的业务需求要解决。
从表单到Ext,从实体引擎到hibernate,从单一类到三层的业务逻辑,从struts到Spring Mvc,从Ext到boostratp,从struts到Spring Mvc,这几年我们经历了系统改造升级的进步。正如几年前,Spring曾提到的,用几年时间改造一个新的系统,是的我们做到了,这期间我们经历太多的磨难、困苦和煎熬,走过无数让人无法释怀的大坑。但是一旦我们走过所有失望,看到的就是美好的阳光。