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的緣由:採用緩存機制緩存字典表、配置表等相關內容,避免系統在使用過程當中每次都查詢數據庫。