初学者之前没有阅读java框架源码的习惯。没有阅读过源码,知道整体流程么?知道依赖注入的概念么?知道aop么?知道其中用到了哪些设计模式么?

再说了,如果一上手就是源码?难道你没有注意到Spring的类有多少个吗?各个模块之间的组织模式么?所以我想说那些说看源码的人,完全是不负责任的。如果楼主能看懂源码就不会问这样的问题。
个人推荐:
Spring 3.x企业开发实战: 非常基础,但是对知识点都有涉及。


工作之后,因为公司也使用了Spring,所以为了工作,你不得不自己学,上班的时候好好的看已经写好的代码,不懂的就去网上查,下班后就自己搭建Spring的项目,这种状况持续了两个月,不知道搭建了多少次环境后,终于达到了一看控制台就基本上明白是哪里出错了。

之后,一个小功能需要我独立完成,我就把SpringMVC直接引入,不会的依旧去网上查,一段时间后终于开始慢慢熟悉了。这个时候也对Spring慢慢的熟悉起来了。

所以,项目驱动是最好的老师

比如你要学Spring,首先其他的不说,先来一个用户的增删改查,做完后,什么数据绑定、数据验证、拦截器、mvc、jdbcTemplate、、、、都自然而然的熟悉起来了。

到了这个时候,就开始慢慢的深入了,比如SpringMVC的流程、bean实例化步骤以及生命周期等等。

等你拿着Spring官方文档的目录,能把上面的东西说出来的时候,基本上就算熟悉了Spring了,所谓熟悉就是出了问题基本上能通过看控制台或者找资料能解决。

再进一步,你就开始需要学习设计模式之类的,什么工厂模式、模板模式、适配器模式等。

等熟悉了设计模式了,开始学gradle之类的构建技术(Spring就是用他来进行构建的),学得一般般之后,就可以开始熟悉Spring源码了。

不过Spring源码很大,而且很多功能基本上只是为了保持向上兼容,所以要完全熟悉是需要大量的时间的。

真到了那一步,基本上,任何一个框架拿过来,就可以真正拿着官方文档就可以开始做项目了。
 
《Spring 3.x企业应用开发实战》 这本书真的还不错,虽然代码有少许错误,但是在你只跑demo的情况下 还是满足初学需求的!
然后基本可以靠文档解决大部分问题了!
我不反对一上来就看文档,但是初学者可能基本概念,spring的applicationContext.xml如何配置都不一定熟悉,spring启动报错都不一定看的明白!
之后进阶就是《Spring In Action》和官方文档了

0. 打好基础,了解反射,AOP,巴拉巴拉这些基础知识
1. 官方文档
2. 官方示例
3. Github上各种sample
4. 同时总结思考
 
1. 看视频浅入门;2.看书深入原理, 推荐 《Pro Spring》 3.通读官方 Reference 了解规范和实现;4. 关注 Spring 官方 release page, 了解版本间功能的差异。
<pro spring> 前面几章很细致,推荐,后面mvc马马虎虎

初学Spring有没有适合的书的更多相关文章

  1. 初学 Spring boot 报错 Whitelabel Error Page 404

    按照教程,写了个最简单的 HelloWorld,尼玛报错 -->Whitelabel Error Page 404. 网上99%都是项目结构不对,说什么 Application放在父级 pack ...

  2. 初学 Spring MVC(基于 Spring in Action)

    Spring MVC(Model-View-Controller) 当你看到本博文时,我猜你可能正面临着我已探索过的问题. 同其他博主一样,我先按照书上详细的介绍一下 Spring MVC,也是为了自 ...

  3. spring整合hibernate之买书小测试

    spring来整合hibernate就是用spring来管理hibernate的sessionFactory和让hibernate来使用spring的声明式事务. 一:加入相应的jar包. 二:写hi ...

  4. 初学Spring

    Spring是当今最流行的框架,今天开始,dayday同学要正式开始学习Spring了,加油 以下是一个简单的应用Spring框架的java程序 src\dayday\HelloSpring.java ...

  5. spring源码分析的书到了

    现在写java后台可以说都能用上spring 在原有的spring基础上,加上自己定制的一些功能,能够使编程变得非常简化. 我也准备在我的毕业设计中写一些spring改造的东西.用来简化开发. 就拿连 ...

  6. 初学spring boot踩过的坑

    一.搭建spring boot环境 maven工程 pom文件内容 <project xmlns="http://maven.apache.org/POM/4.0.0" xm ...

  7. 记录初学Spring boot中使用GraphQL编写API的几种方式

    Spring boot+graphql 一.使用graphql-java-tools方式 <dependency> <groupId>com.graphql-java-kick ...

  8. 初学 spring

    1.spring 开发环境,包含eclipse https://spring.io/tools3/sts/all/

  9. 初学spring(二)

      1.spring推荐使用接口编程,配合di可以达到层与层之间解耦

随机推荐

  1. UIkit – 轻量级前端框架,帮助你快速构建 Web 界面

    UIKit 是一个轻量级,模块化的前端框架,用于构建快速和强大的 Web 界面.UIKit 为您提供了 HTML,CSS 和 JavaScirpt 组件,使用简单,容易定制和扩展.UIKit 基于 L ...

  2. 我如何调优SQL Server查询

    我是个懒人,我只想干尽可能少的活.当我干活的时候我不想太多.是,你没看错,这看起来很糟糕,作为一个DBA这很不合格.但在今天的文章里,我想给你展示下,当你想对特定查询创建索引设计时,你如何把你的工作和 ...

  3. 移动端中pagehide、pageshow的应用

    闲话少叙,来进入场景:订单提交页面,各种积分礼品卡规则都算好了,用户提交表单开始支付,支付完成进入成功提示页面,这是绝大部分网站的付款体验吧,那么问题来了,web移动端中进入成功提示页后,用户点击浏览 ...

  4. 用原生JS读写CSS样式的方法总结

    为了日后方便查询,本人翻阅了一些资料总结了以下方法,仅限原生JS,如有不对的地方欢迎指出!只求大家看完觉得有学到点什么就OK了!   一.可以通过DOM节点对象的style对象(即CSSStyleDe ...

  5. ::selection{}

    ::selectiion{}这是一个伪类选择器,这个是当我们在选择网页上某些文字时(通常是为了复制文字),文字的背景颜色和文字颜色都会发生变化(一般为背景变成蓝色,文字变成白色),这样的写法在IE9及 ...

  6. Java连接MYSQL 数据库的连接步骤

    这篇文章主要以MySQL为例讲下Java如何连接到数据库的. 当然,首先要安装有JDK(一般是JDK1.5.X).然后安装MySQL,这些都比较简单,具体过程就不说了.配置好这两个环境后,下载JDBC ...

  7. 炉石传说 C# 设计文档(序)

    经过3个月的开发,有很多感触. 以前一直以为技术是开发成败的第一因素,现在发现,等到你代码写的时间够长,经验够丰富,什么功能都能随手完成,对于业务的分析能力变成了第一位. 炉石山寨版的BS版本用到的H ...

  8. Python程序员的进化史

    各种程序员所写的阶乘算法代码 # -*- coding: utf-8 -*- #新手程序员(递归) def factorial(x): if x == 0: return 1 else: return ...

  9. eclipse新建maven项目(2)

    本篇博文是继续之前的博文eclipse新建maven项目(1),那篇博文不在随笔在文章中.首先按照之前那篇博文进行创建maven项目操作,一系列操作下来之后发现刷新项目后会报错: 别急哈,可以解决. ...

  10. Scalaz(49)- scalaz-stream: 深入了解-Sink/Channel

    一个完整的scalaz-stream有以下几个部分组成:Source -> Transducer -> Sink,用直白文字来描述就是:“输入 -> 传换 -> 输出”.我们已 ...