Spring简介:

是一个开源框架,是为了解决企业应用程序开发复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为
J2EE 应用程序开发提供集成的框架。

Spring学习方法:

一、首先Java的基础、面向对象的基础和设计模式的基础知识是必不可少的。

关于设计模式我觉得不用学太多,但以下三个模式是学习Spring必不可少的:factory模式(包括简单工厂和抽象工厂),
Strategy模式,Template
method模式。如果不掌握这些你就根本没法领悟Spring的精髓,只能依样画葫芦地照搬,这是很可怕的事。

我这里强烈建议的书可能让人有点意外,那就是Expert one on one
J2EE design and
development的第四章,这一章不仅仅是Spring初学者,而是任何搞Java开发的人必读的一章。经典!

二、接下可以看一些Spring的入门书籍

其实我自己没怎么看过这方面的书,我当时只看过Spring的reference,不过现在这方面的书好象多的是,而Spring
reference看起来还是有些吃力的。JavaEye上很多人建议夏昕的Spring开发指南,据说入门很容易。另外的入门书应该是Spring
live或Spring in action。我大概扫了一下,Spring
live是一本只讲怎么做而不讲为什么的书,我不太喜欢(偶尔参考一下倒不错),不过有些人特别喜欢这样的书,看自己的个人爱好吧。

三、研究几个用Spring做的开源项目

理论还是要与实际结合,所以看完书后是要看实际的项目的。很多人喜欢appfuse,我觉得appfuse花的东西太多,真正实质性的内容又太少。我更喜欢Spring自带的jpetstore,这是一个非常完整的例子,看完后Spring的基本用法应该都能掌握。

四、开始做实际的项目

在上述这些都完备以后,我觉得应该要去实际项目中锻炼了。当然并不是每人都有这样的机会的,这时只能自己做个玩具项目啦。项目的锻炼是非常关键的,其实每个人都清楚,我就不重复了。

五、继续深入学习

经过项目的锤炼,对Spring的用法和原理有了一定的了解的时候,才有可能真正掌握Spring的精髓。这时要读的书才是Rod
Johnson的三本经典名著,分别是:

Expert one on one J2ee design and
development

Expert one on one J2ee without EJB

Professional Java Development with
SpringFramework

前两本书的经典程度我就不说了,只有读了它们,才能真正了解Spring的设计意图,掌握Spring的精髓。

第三本书是我强烈不建议初学者读的书。里面的东西深入而全,但是原理讲解得又不够深,很容易让初学者犯迷糊。但是却是Spring的高级用户必读的一本书(还有一本pro
Spring据说也不错,不过我没读过)。我过几天会写一下这本书的书评。

当然这个阶段与第四阶段是交错的,边读书边做项目学到的东西才会更多的。

六、分析源代码,扩展Spring

有人认为没有必要分析Spring的源代码,因为这是很累人又不计好的事。但是要想成为Spring的高级用户,这是必经的阶段。在学习的过
程中,我们学到的不仅是Spring,更重要的是他的设计思想。不管怎样,看牛人的源代码是绝对有好处的。不过这是一个很累人的过程,要有思考准备哦

[转载]新手入门:Spring的一些学习方法及意见的更多相关文章

  1. 适合新手入门Spring Security With JWT的Demo

    Demo 地址:https://github.com/Snailclimb/spring-security-jwt-guide .欢迎 star! Spring Security 是Spring 全家 ...

  2. Spring boot 1.3.5 RELEASE 官方文档中文翻译--Part2:新手入门

    Part II. 新手入门 如果你刚刚开始学习Spring boot或"普通"的Spring,这部分非常适合你!在这里,我们回答了最基础的"什么是?".&quo ...

  3. IDEA+Maven 整合SSM框架实现简单的增删改查(新手入门,傻瓜操作)

    原博客地址:https://blog.csdn.net/khxu666/article/details/79851070 选用SSM框架的原因在目前的企业级Java应用中,Spring框架是必须的.S ...

  4. NLP新手入门指南|北大-TANGENT

    开源的学习资源:<NLP 新手入门指南>,项目作者为北京大学 TANGENT 实验室成员. 该指南主要提供了 NLP 学习入门引导.常见任务的开发实现.各大技术教程与文献的相关推荐等内容, ...

  5. iOS简易柱状图(带动画)--新手入门篇

    叨逼叨 好久没更新博客了,才几个月,发生了好多事情,处理了好多事情.不变的是写代码依然在继续. 做点啥子 看看objective-c的书,学着写了个柱状图,只是练习的demo而已,iOS上的图表控件已 ...

  6. jmeter安装教程与新手入门(附jdk安装教程)

    一.前言 最近要对网站做性能测试,提到了并发数测试,查了下,还是决定使用jmeter来完成这项测试,这里总结了jmeter完整的安装教程,附上新手使用教程. 二.jmeter安装 1.jdk安装(jm ...

  7. 问题集录--新手入门深度学习,选择TensorFlow 好吗?

    新手入门深度学习,选择 TensorFlow 有哪些益处? 佟达:首先,对于新手来说,TensorFlow的环境配置包装得真心非常好.相较之下,安装Caffe要痛苦的多,如果还要再CUDA环境下配合O ...

  8. Gulp新手入门教程

    Gulp 是一个自动化工具,前端开发者可以使用它来处理常见任务: 搭建web服务器 文件保存时自动重载浏览器 使用预处理器如Sass.LESS 优化资源,比如压缩CSS.JavaScript.压缩图片 ...

  9. LINUX 新手 入门 教程

    新手入门教程 点评: linux 入门 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声

随机推荐

  1. javaee 集锦

    1.struts2 的配置随版本不同改变,可以使用struts2-blank包生成标准空白项目

  2. IT公司100题-5-查找最小的k个元素

    问题描述: 输入n 个整数,输出其中最小的k 个. 例如输入8, 7, 6, 5, 4, 3, 2, 1这8 个数字,则最小的3 个数字为3, 2, 1.   分析: 时间复杂度O(nlogn)方法: ...

  3. jQuery对表单元素的取值和赋值操作代码

    使用常规的思路:$(“#keyword”).value 取值是取不到的,因为此时$(‘#keydord’)已经不是个element,而是个jquery对象,所以应该使用:$(“#keyword”).v ...

  4. Unity优化之减少Drawcall

    简单来说,Drawcall就是屏幕渲染一次所需要的开销,为了较少消耗,提高性能,一般有以下几种方法. 一: 批处理 1.动态批处理 如果动态物体共用着相同的材质,那么Unity会自动对这些物体进行批处 ...

  5. [转] Android应用程序与SurfaceFlinger服务的关系概述和学习计划

    转自:Android应用程序与SurfaceFlinger服务的关系概述和学习计划 SurfaceFlinger服务负责绘制Android应用程序的UI,它的实现相当复杂,要从正面分析它的实现不是一件 ...

  6. 2014年2月份第4周51Aspx源码发布详情

    AM自定义报表管理系统源码  2014-2-28 [VS2010]源码描述: 本系统有以下特色之处: 1.一套软件,多点登陆,根据权限不同共同管理报表,适应于前期获取客户需求报表字段使用. 2.客户自 ...

  7. Linux下进程的建立

    Linux下进程的建立 我们都知道,进程就是正在执行的程序.而在Linux中,可以使用一个进程来创建另外一个进程.这样的话,Linux的进程的组织结构其实有点像Linux目录树,是个层次结构的,可以使 ...

  8. android unique identifier

    android get device mac address programmatically http://android-developers.blogspot.jp/2011/03/identi ...

  9. php大力力 [021节]mysql表名在mac下不能大写

    2015-08-27 php大力力021.mysql表名在mac下不能大写 刚才数据库里面,phpMyAdmin狂出错. Some errors have been detected on the s ...

  10. javaweb-dbcp

    package cn.songxinqiang.samples.commonsdbcp.util; import java.sql.Connection;import java.sql.Databas ...