1、对比(Jackson、json-lib、fastjson)性能选择Jackson为数据传输json转换器 。fastjson对null数据处理的不是很好得需要自己重新写基于SerializerFeature的实现类。
http://hjg1988.iteye.com/blog/561368。
2、放弃sitemesh布局框架的原因,虽然对js和css的引入做了统一引入管理,但是并没有节省js和css的加载事件,并且其是使用JVM空间来换取的,所以舍弃。
http://www.iteye.com/topic/715100。
3、选取Logback,而非Log4j的原因:
http://www.oschina.net/translate/reasons-to-prefer-logbak-over-log4j
4、选取Shiro而非Spring Security的原因:
http://blog.csdn.net/boonya/article/details/8233303
http://www.infoq.com/cn/articles/apache-shiro
5、选择Spring-Data-Jpa而非Hibernate或者ibits的原因:使用Hibernate hql性能问题难以处理,ibits或者mybits需要大量的写sql前期开发效率很高,后期维护可能相对来说比较麻烦但是随时需要考虑注入危险。Spring-data-jpa 基于提供的文档与spring可以很好的集成,并且能够摒弃大量写sql的问题。如果牵扯到对性能要求非常苛刻的如统计功能,使用原始的sql查询。
6、选用Spring MVC而非Struts的原因:众所周知Struts已经在没落的边缘,Spring4 WebSocket更符合时代的选择,不必像之前一样再去整合dwr相关内容。
7、选用Freemarker的原因:所有的页面都是用html,无需编译,避免了JSP的初次编译带来的时间差。
8、选用Ecache的原因:采用缓存机制缓存字典表、配置表等相关内容,避免系统在使用过程中每次都查询数据库。