Spring
再整个 JAVA
的生态中大行其道,可以说占据了JAVA
的半壁江山。编程的思维模式也被从面相对象改为了面相 Spring
, 对于 Spring
了解的越多,也就越知道其强大所在。不论什么场景,Spring
都能起到不小的作用。从最开始的轻量级IOC
做到如今 All in one
。Spring
也从龙骑士变为了恶龙。
最开始了解到 Spring
还是 15 年,当时再培训机构做 JAVA
相关的培训,当时的课程计划是从计算机的基础使用开始的,因为从上高中的时候我就对计算机产生了迷恋,不再沉迷于电脑游戏,而是开始学习起来了 Linux
, C语言
之类的计算机技术,逛如 绿色兵团
之类的黑客网站,挂着 YY
, QQ
加入了不少技术群。虽然并没有什么软用,但是也算给自己做了计算机启蒙,也就导致后来一段时间的培训很顺利,甚至再培训机构也有了一点名声。也就再那时,我提前开始自学起了 Java
,计算机网络
之类的教程。
那时从 JAVA 基础
开始学起,尝试 new
出一个又一个对象,键盘的清脆的回响把我带入了一个神奇的世界。当课程进入了 Java Web
时,在那时接触到了SSM
, 不过这时的 S
还是不单单是 Spring
, 而是 Struts2 + Spring + Mybatis
。不过这时候我就利用搜索引擎发现关于 Struts2
的各种缺陷,而整个环境似乎都在向 SpringWvc + Spring + Mybatis
靠拢,Spring Wvc
相比于 Struts2
代码上就给人一种非常清爽的感觉,通过一个又一个注解,就能把对象注入进入,而关于 Controller
的实现,更是少了许多Struts2
的繁琐。不过培训机构的课程还是很有道理的,内容也是不少,之后的日子我们也学习了新的SSM
以及 SSH(Spring Wvc + Spring + Hibernate)
。再之后的日子就是不断巩固,一直到大数据 Hadoop
相关的教程才算告一段落,不过这时候已经到了 16 年了, 也是这一年,认识到了 Spring Boot
,Gateway
, 微服务
的很多东西,这也是因为当时遇到了一个很庆幸能遇到的启蒙人。让我了解到了这些。从那时起,我的整个 JAVA
的世界就被 Spring
所笼罩。
如今,已经是 21 年了,我参与 JAVA
的正式研发工作也已经 5 年了,现在的自己总感觉自己被囚禁了一个笼子里,打不开,走不出。代码的习惯也因那么多年的影响,变的很 Spring
, 不论在学习 GO
还是 Rust
甚至 Python
, 总想着找到一个类似 Spring
的框架。但是这种思维对于现在的我不再是优点,刚刚开始的时候,因为对 Spring
的了解,能很快借助它起架子,写代码,CRUD
的三层结构不知写了多少。但当脱离这些,我迷茫了,我不知道我还能写什么。虽然也做了很多复杂的业务,但其本质依然脱离不了。而我再次开始审视这个问题,我发现我不知道该如何去书写其他代码了,如果突然换了一个框架,我可能不会使用了。倒也不是不会用,而是总想着按 Spring
的模式来,对于所有的对象,配置采取统一的管理,通过一个一个注解把需要的对象注入进去,一个又一个贫血的实体类再中间扭转,我认为好的代码不应该这样,虽然这五年也学了不少,甚至对 DDD
都有着一些了解,但是就是突破不了。深深的陷入了不见底的黑洞,挣扎不开。
而今天,突然再次回想这个问题,我认为最根本的原因还是自己丧失了对于技术本质的理解和追求,五年来的沉沦,让我失去了对这些的追求,对于一些JAVA
常用的中间件,看着官方文档,或者一些网络上的案例,用上就完了。能完成任务,完成需求也就达到了自己想要的目的,额外也就想着如何把代码写的更干净一些,能更好的去使用,维护。这也就导致了没有基础,再高的大楼,当没了基础,也就有要坍塌的一天。而今,想要更进一步,就需要再次把基础打牢固,夯实。