Java 菜鸟如何快速学习 Spring? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
clearbug
V2EX    Java

Java 菜鸟如何快速学习 Spring?

  •  
  •   clearbug 2016-09-16 15:07:53 +08:00 12959 次点击
    这是一个创建于 3381 天前的主题,其中的信息可能已经有所发展或是发生改变。
    目前水平:了解 JavaSE 基本的概念, Servlet 和 JSP 之前有过简单的使用。。
    最近因为工作需要想要快速学习完 Spring 的使用。本来自己计划是看 Spring guide : http://spring.io/guides 。。看了几篇之后感觉有点云里雾里的,特别是按照上面推荐的步骤来,都不懂什么意思了。比如这个: http://spring.io/guides/gs/relational-data-access/ 使用 spring 连接数据库,数据库怎么配置的都没说,而是直接在项目初始化时依赖里面定义好了。。。感觉项目初始化时定义好的依赖好强大啊。求大神推荐 Spring 正确的学习方法啊?
    38 条回复    2017-11-14 21:13:28 +08:00
    1990andy
        1
    1990andy  
       2016-09-16 15:17:55 +08:00 via iPhone
    偷懒的话直接去看慕课网的视频教程,但建议还是先好好看文档。
    clearbug
        2
    clearbug  
    OP
       2016-09-16 15:23:32 +08:00
    @1990andy 嗯等下去慕课网上找找相关课程。直接看文档好枯燥,感觉会看不下去的
    supman
        3
    supman  
       2016-09-16 15:32:35 +08:00
    。。我是看官方文档学的 最后也是云里雾里。 需要做东西的时候,很多都是从官方初始化项目里拼凑的。。。
    clearbug
        4
    clearbug  
    OP
       2016-09-16 15:36:07 +08:00
    @supman 感觉我写代码好多时候就是不明白原理,然后有了问题就各种百度。。感觉就是代码搬运工,码农。。所以才来问正确的学习方法啊
    zhuangzhuang1988
        5
    zhuangzhuang1988  
       2016-09-16 15:40:01 +08:00
    <Spring in Action> <Spring Boot in Action> 都有中文的。。。
    zonghua
        6
    zonghua  
       2016-09-16 15:47:05 +08:00
    http://spring-abc.xyz/ 类似 V2EX 的社区论坛
    这个是我边看文档边写的,看演示就好,最好别参考,因为代码写太烂啦。。。

    https://github.com/spring-io/sagan
    这个是 Spring 官网的源码

    Spring boot 使用的都是默认的配置,自定义的话文档会有说明,如果想了解原理的就直接看框架源码。
    tvallday
        7
    tvallday  
       2016-09-16 15:47:45 +08:00
    spring 框架太大了,每个章节都有很多东西可以学。基本上你搭一个带 ACL 的小型论坛或者电商系统都用上很多 Spring 的东西了。
    billyu
        8
    billyu  
       2016-09-16 16:51:32 +08:00 via Android
    推荐一本书《 Spring3.x 企业应用开发实战》
    misaka19000
        9
    misaka19000  
       2016-09-16 17:19:42 +08:00 via Android   1
    楼上那本以及Spring In Action都很不错
    wemore
        10
    wemore  
       2016-09-16 17:28:06 +08:00 via Android
    正在撸轻量级 javaee 企业应用实战 spring 部分
    wemore
        11
    wemore  
       2016-09-16 17:28:49 +08:00 via Android
    @wemore 感觉有人会说看什么 hibernate 和 struts_(:з」∠)_
    hantsy
        12
    hantsy  
       2016-09-16 17:35:17 +08:00
    找本书看看先, Oracle 官方的 Java SE Tutorial , Java EE Tutorial 是基本知识,看先一下 Pro Spring 4 就差不多了.
    clearbug
        13
    clearbug  
    OP
       2016-09-16 19:24:09 +08:00 via Android
    @zhuangzhuang1988 嗯谢谢。明天看看
    clearbug
        14
    clearbug  
    OP
       2016-09-16 21:16:53 +08:00
    @zonghua 感谢,有空去参考下
    clearbug
        15
    clearbug  
    OP
       2016-09-16 21:17:51 +08:00
    @tvallday 也想自己做一个完整的东西练习,可是自己也不会设计原型啥的,所以总是开始后没走几步就放弃了(因为做的太丑了。。。)
    clearbug
        16
    clearbug  
    OP
       2016-09-16 21:19:16 +08:00
    @billyu 感谢推荐,有机会去看一下
    keepcleargas
        17
    keepcleargas  
       2016-09-16 21:19:59 +08:00
    Spring in action, done
    clearbug
        18
    clearbug  
    OP
       2016-09-16 21:20:44 +08:00
    @wemore hibernate 和 struts 现在用的人还多吗?感谢当年的 ssh 现在经常听说的就是 spring 了,数据库连接的话也有 MyBatis 了。。。《轻量级 javaee 企业应用实战》这本书好几年了吧,现在看有木有过时的感觉呢?
    clearbug
        19
    clearbug  
    OP
       2016-09-16 21:21:26 +08:00
    @hantsy 嗯嗯。“ Oracle 官方的 Java SE Tutorial , Java EE Tutorial 是基本知识”这些东西还没看,也得抽空补充下
    caixiexin
        20
    caixiexin  
       2016-09-16 21:28:38 +08:00 via Android
    @clearbug 一开始我也看那本书,很多 spring 的概念弄懂了,再看官方英文文档也容易理解。
    caixiexin
        21
    caixiexin  
       2016-09-16 21:29:32 +08:00 via Android
    @clearbug 说错了,是这本。
    《 Spring3.x 企业应用开发实战》
    nakedou
        22
    nakedou  
       2016-09-16 22:16:23 +08:00
    写 demo
    narukow
        23
    narukow  
       2016-09-16 23:25:44 +08:00
    开始时先不要强行理解 spring 的那些 IOC 、 AOP 概念,我觉得先在 git 上找一个现成的 demo 学着配置基本的 mvc 应用结构。配着的时候你自然会遇到命名空间、注解使用等疑惑,这时从 spring in action 或者官方文档中找相应答案。另外就是网上中文资料大部分是 3.x 版本 spring 的,若果你的项目是从 4.x 的 spring 启动,参考 3.x 的中文资料可能会被坑,例如 jackson 配置什么的。
    我自己的 Rest api 项目就是多亏有 hantsy 巨巨的 angular-spring-rest demo 能参考着起步,异常处理、 javaconfig 、 spring security 等已经在这个 demo 里很清晰体现,学习了许多。后来项目需要使用 token 验证,也是在 git 上找到 jwt 结合 spring security 的 demo 代码,边照搬边阅读 security 的手册来消化。 一整套项目下来 spring 就基本入门了
    Ouyangan
        24
    Ouyangan  
       2016-09-17 00:23:42 +08:00
    @narukow 确实,开始强行理解概念比较难 , 我大概开发做了半年多才开始跟着流程 debug 好多遍 , 最后发现理解 ioc 不如带着使用容器的思想来理解, spring 就是一个中间平台, 你要用对象别直接 new, 找我要,我这里有,我用一个 ConcurrentHashMap 装着那些对象呢,并且还负责管理他们......
    sparkssssssss
        25
    sparkssssssss  
       2016-09-17 08:18:43 +08:00 via Android
    马克!!!
    ooTwToo
        26
    ooTwToo  
       2016-09-18 09:51:44 +08:00
    《 Spring 实战 4 》不错哦
    clearbug
        27
    clearbug  
    OP
       2016-09-19 10:12:39 +08:00
    @ooTwToo 《 Spring in Action 》第四版?
    clearbug
        28
    clearbug  
    OP
       2016-09-19 10:17:05 +08:00
    @zonghua 刚看了下你的论坛。相当不错哦,怎么没继续做下去呀?我发的这个帖子差不多有几十个人收藏了,感觉现在学习 spring 的人还是挺多的,感觉可以专门搞一个从 JavaSE 、 JavaEE 、 Spring 的学习论坛
    ooTwToo
        29
    ooTwToo  
       2016-09-19 10:28:20 +08:00
    @clearbug 是的
    zonghua
        30
    zonghua  
       2016-09-19 11:21:04 +08:00
    @clearbug 你看看我 github 啊,我已经开了几个分支了,准备写 vue.js 前端
    cvv
        31
    cvv  
       2016-09-19 23:53:11 +08:00
    都工作了还看什么教程啊,直接找人要个项目跑起来看看不就行了吗?不带着例子看教程得花多少人天啊,充分利用手边的资源,借着工作顺带着就学完了。
    clearbug
        32
    clearbug  
    OP
       2016-09-20 07:21:14 +08:00 via Android
    @cvv 工作中一般的任务就是参考下项目里其他地方的代码都可以完成了,但是感觉如果没有代码可以参考了自己根本没能力从头到尾做一个东西出来。。所以想系统的学习一下
    cvv
        33
    cvv  
       2016-09-20 18:48:27 +08:00
    @clearbug 做减法,一点一点把你们的项目迁移到你个人的项目中(不要 cv 大法,否则被月饼了别怪我),不光可以学习未来还能重用
    clearbug
        34
    clearbug  
    OP
       2016-09-20 18:59:44 +08:00
    @cvv 哦哦,提议不错。。过几天尝试下
    teemoer
        35
    teemoer  
       2016-10-18 12:54:03 +08:00
    我给我女朋友讲 spring 的时候 就说的是
    你平时需要类 是这样的

    Class classNmae=new Class();


    有了 spring
    spring.xml -> <bean id="233" class="com.xxxx.xxx.xxx.Class" /> 翻译成人话↓
    大家快来看 这里有个 类 叫做 233 类路径是 com.xxx.xxx.xxx.Class


    java 测试代码:
    Class className= @Autowired("233");

    为了好看 所以写成了 ↓

    @Autowired("233")
    Class className;


    翻译成人话:

    = = 我叫做 className 我的类型是 Class 类型 麻烦 你去 spring.xml 里面去帮我找有没有叫做 233 的 并且是 Class 类型的类,如果有 麻烦帮我 new 一下 我就不自己 new 了 ,如果没有 那我就是 null;


    完了 这就是 spring 的 ioc ,什么控制反转 依赖注入 都是 说起来让你觉得 高大上 扯 J.八.蛋 的.

    重在与你自己的理解 = =

    http://www.java.sx 有我爬的 spring 教程 你想快速入门的话 可以去看看



    = = 拿好不谢
    Jeremy1992
        36
    Jeremy1992  
       2016-10-21 16:16:38 +08:00
    @teemoer 哈哈,第一句是重点,有女朋友!
    indexry
        37
    indexry  
       2016-10-23 10:35:33 +08:00
    @Jeremy1992 没错!那就是我!
    jack80342
        38
    jack80342  
       2017-11-14 21:13:28 +08:00
    最近翻译了 Spring Boot 最新的官方文档,欢迎fork,https://www.gitbook.com/book/jack80342/spring-boot/details
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     943 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 28ms UTC 23:28 PVG 07:28 LAX 15:28 JFK 18:28
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86