在J2EE的代码生活上,不知不觉,就走了3年多了。一直在摸索,在前进,可是,在内心,不停的纠结着,我们真的需要这么多框架,这么多层次,这么多所谓的一套又一套理论吗。在我们的开发中,不停的集成添加更多框架,JAR包越来越多,几个,几十个,几M,几十M,甚至上百M。
当初为啥要用这种那种的框架,为啥要引入这套那套理论,简单说,不就是为了开发更加方便,速度更加快捷,维护更加容易吗?但是,现在各种框架我们都有了,难道我们的开发真的就快捷了吗?我们的维护更加轻松了吗?我们的后期扩展更简单了吗?不,不是的,至少我感受到的不是这样的。而且我越来越模糊,Spring是什么,Ibatis是什么,Struts是什么,WebWork是什么。还有Hibernate,SiteMesh,Velocity,freemarker,Struts 标签,JSTL等等,太多了,多得让人眼花缭乱。
我们要用Spring,为什么,他的特性是什么,原理是什么?不知道,我想去了解,但是,项目紧张,只能先用再说。
接着,我们又想用Struts,但是Spring MVC呢,这个如何,纠结。花费很多时间比较,最后选择了一个。这时有人问?为什么?你为什么要选择Struts2,而不是Struts1,也不是Spring MVC?他的特性是什么,原理是什么?我的神啊!!!!!我不知道,给我一周时间,一定给你一个满意的回答。
然后呢,数据库框架,JDBC?Ibatis?Hibernate?JPA?为什么?特性?原理?
然后呢?数据库?Oracle?MysqL?SqlServer?H2?为什么?特性?原理?
然后呢?我们还需要什么?JSP?Velocity?JSTL?XSTL?freemarker?为什么?特性?原理?
然后呢?JS用什么?Jquery?ext?flash?flex?YUI?为什么?特性?原理?
然后呢?Ajax用什么?json?XML?为什么?特性?原理?
然后呢?数据检验?前台呢?后台呢?为什么?特性?原理?
然后呢?导出数据用什么?POI?XML?excel?Word?PDF?为什么?特性?原理?
源码控制呢?CVS?SVN?VSS?为什么?特性?原理?
持续集成呢?ANT?Maven?hudson?为什么?特性?原理?
日志呢?Slf4j? Log4j?为什么?特性?原理?
Web服务? Web Service - JAX-WS2、CXF? REST- JAX-RS?Jersey?HttpClient?为什么?特性?原理?
安全? Spring Security?验证码-JCaptcha?Utils-散列?签名?加密?为什么?特性?原理?
缓存?Cache? EhCache?OSCache?为什么?特性?原理?
定时任务? Quartz? JDK ScheduledThreadPoolExecutor?为什么?特性?原理?
JMS? ActiveMQ ? Spring JMS?为什么?特性?原理?
JMX?Spring JMX?为什么?特性?原理?
Email?Spring Email?为什么?特性?原理?
报表?Flash Chart - AmCharts?Excel - POI?为什么?特性?原理?
架构质量?Graceful Shutdown?为什么?特性?原理?
性能调优? Web2.0页面优化? Profile工具 - VisaulVM?Yorkit?SQL监控工具 - P6Spy?为什么?特性?原理?
服务器呢?为什么?特性?原理?
集群呢?为什么?特性?原理?
我的神啊,做一个项目,要这么多。“为什么?特性?原理?”,我已迷糊了,我已忧郁了,做了3年了,终于还是迷糊了,终于还是忧郁了。你能完整的告诉我吗?
我们的代码开始层次越来越深,2层,3层,4层,面向接口,面向过程,父类,子类,孙类。。。。当我要修改一个东西时,找MVC的配置,找服务端数据检验配置文件,找Spring的配置,找Ibats-SQL配置,改Struts Action,改Service接口,改Service实现类,改DAO接口,改Dao实现类,改Ibats-SQL,如果层次再多下去,还要增加更多。试问,我们维护起来简单了吗?真的像传言中的维护简单吗?难道所谓的维护就是页面上改改吗?真正的改动了功能,甚至数据库,维护起来就真的容易吗?
我终于还是迷糊了,终于还是忧郁了。