先来看张图,它记录的是Web框架的发展史。
图片一 Web框架的发展史
还有更多你可能听都没听说的Web框架,详细的框架列表请参见这里。我想你已经眼花缭乱了,从这么多框架中,如何才能挑选出你心仪的框架呢?
主流的几种运行在JVM上的全栈式Web框架(Full Stack Web Framework)有Spring,Grails,Play!,JRuby on Rails,Vaadin等等,它们各自有各自的优缺点。(所谓Full Stack Web框架,是指所有的层无缝衔接,你可以做到Don’t Repeat Yourself(DRY),自上而下的使用一种语言。)
对我们而言,永远没有“最好”的框架,只有最适合自己需求的框架。在考虑一个框架时,你需要考虑的问题通常有这么几个:
对于笔者而言,学习曲线和开发效率是非常重要的,考虑到Spring完全使用Java语言,不需要再学习新的语言,另外Spring同其他框架的兼容性、可扩展性都非常好,更重要的是强大的文档支持和活跃的社区,让我选择Spring作为开发应用的主要框架。Spring未必是性能最卓越的,它的综合评分也不是最高的。但确实能满足我的大部分需求,越深入的学习越是能体会到它的强大,它能帮助我开发出稳定、安全而又简洁易维护的软件出来,所以也便有了这个系列教程。
下面列出Spring的优点:
不得不提到,如果你要开发一个大型的Web系统,MVC框架必不可少。Spring MVC作为其中的佼佼者,被大多数系统作为MVC框架,使用它的开发者也是最多的,其搜索热度一直居高不下。此外你也能得到更多的工作机会呢!
图片二 Dice.com统计的工作中需求的框架热度排名
图片三 Google上的搜索频率排名
图片四 Indeed上工作热度排名
还犹豫什么,跟我一起来学Spring吧!
本教程先从Spring的核心部分开始,之后将会陆续介绍Spring MVC,Spring Security等主要模块。将用代码示例配以操作截图,来详解主要知识点,所以非常适合初学者。每一课的学习课后都留有习题供读者思考,这些习题相当多的是面试当中经常会出现的面试题,并且将在下一课中会给出习题的答案,所以本教程针对面试也相当有用。由于笔者的水平有限,错误之处还请大家指出,欢迎大家留言,大家共同学习进步。