毋庸置疑,Spring 早已成为 Java 后端开发事实上的行业标准,无数的公司选择 Spring 作为基础的开发框架,大部分 Java 后端程序员在日常工作中也会接触到 Spring ,在使用的过程中不知道你是否遇到这些问题:
- 在代码之外,看着一堆依赖和配置,总是有些摸不清方向;
- 看着这么多组件,总是不知道该从何入手;
- 看着一同入职的小伙伴把框架玩得很溜,总是不明白自己到底哪里没开窍。
从 2002 年误打误撞开始写 Java 后,就把这门语言当做自己的主要工作语言了,一路上踩过不少坑,因此深有感触,还记得前些年 Spring Boot 和 Spring Cloud 还没有出现,我们在开发一个互联网金融相关的项目,大致要求如下:
- 前端有 PC、HTML5 和 APP,通过接口与后端系统交互,后端再访问核心系统,所有数据存储于 MySQL 中。
- 整个应用部署在私有云上,应用实例要能根据业务量动态扩容或者缩容,遇到紧急情况时,系统还要能够自动或者通过后台开关手动降级......
一连串的需求如潮水般涌来,要命的是留给我们的时间还特别紧张,当时的内心还是有些小崩溃的,后来平复了一下心情,除了那些基本的功能性需求,还梳理了那些非功能性的点:
- 需要发布 RESTful Web Services
- 考虑到系统的吞吐量要求,需要实现读写分离,将大部分数据缓存到 Redis 中
- 系统是集群化部署的,Web 层的系统可能需要分布式 Session
- 系统需要有配置开关,最好开关还要实时生效
- 系统要能实现服务的自动注册与发现,在集群中做到负载均衡
- 遇到突发流量或者故障,系统要能熔断
- 为了缩短实时链路,有些不必要的操作可以通过消息来传递
- 开发、测试、预发布、生产每个环境的配置文件和配置项会有区别,需要独立配置
- ……
精选留言(79)
作者回复: 谢谢,我觉得书和本课程并不冲突,可以互相结合。在课程中我并不会覆盖Spring所有的内容,毕竟现在Spring已经很庞大了,我只会涉及最常用的那些功能,20/80法则到哪里都适用。在一些我觉得有趣的地方,我也会结合我自己的一些经验做展开,我个人认为展开的地方才是课程的价值所在。
作为最主流的java框架,可以说实质上已经是一个java开发标准了,不学一学是很丢人的呀。
作者回复: 多谢支持
作者回复: 新版本的Spring没有完整的中文文档,就不用费力找了
工作几年,Spring都仅仅是会用而已,希望本视频能够带我深入。
谢谢🙏
作者回复: 我在码云上做了个镜像,实在不行,你去那里下载吧,但请不要在那里提PR或ISSUE,我会以课程的留言为主,谢谢。
https://gitee.com/digitalsonic/geektime-spring-family
手机上看老师的演示,实在费劲。
另外能在正式代码演示前,帮忙介绍IDE环境的设置吗?
编辑回复: 有的,time.geekbang.org,专栏介绍页面有写
作者回复: 可以看一下课程的课程信息最下面,在有提到的基础后,学习这个课程,收获会更大些。另外,如果是Spring的初学者,我个人建议最好再看些其他的资料做交叉学习,效果也许更好
作者回复: 在课程大纲里我们有专门一部分讲SpringCloud的