1、对比(Jackson、json-lib、fastjson)性能选择Jackson为数据传输json转换器 。fastjson对null数据处理的不是很好得须要本身从新写基于SerializerFeature的实现类。css
http://hjg1988.iteye.com/blog/561368。html
2、放弃sitemesh布局框架的缘由,虽然对js和css的引入作了统一引入管理,可是并无节省js和css的加载事件,而且其是使用JVM空间来换取的,因此舍弃。spring
http://www.iteye.com/topic/715100。sql
3、选取Logback,而非Log4j的缘由:数据库
http://www.oschina.net/translate/reasons-to-prefer-logbak-over-log4japache
4、选取Shiro而非Spring Security的缘由:json
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的初次编译带来的时间差。
八、选用Ecache的缘由:采用缓存机制缓存字典表、配置表等相关内容,避免系统在使用过程当中每次都查询数据库。