Spring 到底要怎么入门?

2019-05-13 15:24:56 +08:00
 x97bgt

交叉看了一个月的《 Sring 实战》和《精通 Spring 4.x 》,依赖注入和切面的概念大致能理解了,但对 DAO、持久化这些看得迷迷糊糊的。

更严重的是,完全没有一个全局上的了解。可能或多或少地知道对象、配置是怎么得到的,改改老代码还凑合着,但如果要我从零写一个 Demo,那完全不行了。

可能是刚开始做程序员,以前没接触过类似的框架,术语一下子涌来实在太晕了。大家都是怎么入门的?

5833 次点击
所在节点    程序员
42 条回复
Caballarii
2019-05-13 15:28:22 +08:00
先动手再说
abcbuzhiming
2019-05-13 15:35:30 +08:00
动手,不会从零写 demo ?网上大把例子,你照着抄,把每个环节都搞懂是什么功能,你就入门了,spring 如果不深究原理的话,说到底就是个胶水
vincel
2019-05-13 15:36:51 +08:00
技术类真的要动手,在实际应用中解决问题才能学到东西
murmur
2019-05-13 15:39:31 +08:00
先抄配置 把你的业务跑起来 再去问为什么
gz911122
2019-05-13 15:45:48 +08:00
spring 就是一坨 xxxx

你就先凑合用着就行了
x97bgt
2019-05-13 15:51:39 +08:00
@Caballarii #1 @abcbuzhiming #2 @vincel #3 @murmur #4 @gz911122 #5 大佬们有什么推荐的书或教程么?还是就直接网上搜文章来实践?
libook
2019-05-13 15:52:55 +08:00
Spring 是一个框架,而框架是被设计出来解决特定应用场景上的需求和问题的,如果不了解需求和问题上来就学框架,肯定就会感觉没有头绪。

自己了解到的是 Sprint 的初衷是降低 Java EE 的使用难度,而 Java EE 是为各种企业级应用场景(最常见的是 Web )提供了各种现成的 API,这些 API 自己用 Java SE 写成本很高,而且相比来说 Java EE 更标准化、社区更成熟,所以往往人们都是直接用 Java EE 的接口。

不知道你是否学明白 Java SE 了,如果学明白了可以自己尝试用 Java 核心 API 写一些简单的 Web 接口,体会一下哪些工作其实是可以用 Java EE 的接口来实现的;然后再使用 Java EE 写一些简单的 Web 接口,体会一下 Spring 是如何降低 Java EE 的使用难度的;最后再了解一下业内的一些企业级服务在开发过程遇到的一些问题是靠着 Spring 提供的哪些思想或者基于 Spring 的哪些思想来解决的。理解了需求和解决问题的思路应该就能更快掌握这个框架。

当然 Java EE 很重,Spring 一方面要应对 Java EE,另一方面要给这么多年来的各种各样企业级服务提供解决方案,所以 Spring 也会很重,涉及到的思想和方案也会很多,学起来也就很花时间。

我自己学 Spring 当年是直接放弃了的。。。所以我对 Java 技术栈的了解可能并不准确。
这些年都是用其他语言的轻框架来做 Web,但不管什么语言什么框架,肯定都是用于解决特定的问题而不是用来制造麻烦的。
WEBUG
2019-05-13 15:53:31 +08:00
建议 spring boot
NoKey
2019-05-13 15:55:58 +08:00
找个后端程序员,让他在没有网络,没有原来代码,只提供需要的 jar 给他的情况下,让他写一个完整的 spring 工程,你看看有多少人会的😄
有些东西实际上不必纠结,善用就行了
javaWeber
2019-05-13 16:05:23 +08:00
你照着下面这个搭一遍框架。然后在看看书,就能入门了。
https://blog.csdn.net/gebitan505/article/details/44455235/
murmur
2019-05-13 16:19:18 +08:00
@x97bgt 如果你是 spring 的话就去下 springside 项目先做起来再问为什么 这套框架全手动配置会吐血的
springboot 我认为简单多了
brust
2019-05-13 16:54:46 +08:00
自从用了 springboot 后 spring 我就只能看懂配置了
qwingmix
2019-05-13 16:57:05 +08:00
尚硅谷有一个视频教程,SSM 高级整合视频。 跟踪做一个件超级简易的人事管理系统, 其实就是一个页面, 有了 CRUD 的功能。 老师讲得很不错,跟着来敲 ,可以把 SSM 的整个东西跑通。
t2doo
2019-05-13 16:59:32 +08:00
像 SpringBoot 这种框架,做一个带前台带后台的小型管理网站一般要多久,一个人的话
qwerthhusn
2019-05-13 17:02:05 +08:00
用多了就慢慢理解了(当然前提是用的过程中去多思考,不思考的话,用 100 年也是不懂)。我当初也是直接拿一本 Spring 的书从头看到尾,但是最后发现,不实际应用的话,根本没有啥理解。
Spring Boot 把所有的细节给隐藏了,如果开始就用 Boot 的话,会让你对 Spring 的核心概念更加不感知,还是开始手动配 XML 或者手动写 @Configuration 好一点
cllvking
2019-05-13 17:22:18 +08:00
新建一个项目,然后往里面填东西,一边学一边动手写代码会比较容易入门、有意思并且也有成就感
Heavytiger
2019-05-13 17:24:52 +08:00
直接上 spring boot。
x97bgt
2019-05-13 17:25:48 +08:00
@libook #7 确实,说得有理。我觉得因为是 Spring 太大了,然后很多教材都是局限在一个很抽象的点在讲,没有前因后果,所以看起来太晕了。也可能 Spring 本身就是实践为主的,但现在市场上还是缺乏好的教材啊。
yidinghe
2019-05-13 17:28:10 +08:00
Spring 的核心是 IoC 容器这自不必说,关于该容器只要掌握两个阶段就可以了,一是初始化阶段,如何扫描 bean 的定义,组装 bean 的实例,以及在这个基础上衍生出来的延迟初始化、自动配置等等;二是执行阶段,如何从 IoC 容器中找到需要的 bean 对象,如何通过代理来拦截调用、实施切面。其余所有的细节都在这两个阶段当中,Spring 整个生态系统的框架都是这两个阶段配合实现的。
taaaang
2019-05-13 17:31:28 +08:00
文档最前面就是一个 demo 吧,demo 跑起来就可以开干了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/563669

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX