“你简历上说熟悉Spring,那你说说看你理解的Spring吧”
“哦,Spring是一个Java开发框架,可以解耦程序各层,有Ioc和AOP……巴拉巴拉”
“还有呢?”
“还有?我会用啊……”
以上对话来自一场面试的中场,求职者是一个刚从培训班毕业的小伙子,总体来说没什么问题,但小伙子的回答总给人一种背书式的感觉。或许不光是这个小伙子,不少工作了一阵的老牛也不一定能很好地理解Spring,或者说是很恰当地表达出来。
01 什么是Spring
了解什么是Spring前,我们大概要先了解下我们所写的每一个不平凡的(Java)程序,这些程序都是由一个一个的组件组成,每个组件各自做自己的事情(面向对象),然后经由某些方式,创建这些组件然后相互引用协调,最终完成了我们所需要的功能。
而Spring,则是这么一个组合协调这些组件的东西。它通过它的核心 容器 来管理这些组件,就比如我要做一个蛋炒饭,油、盐、米饭、鸡蛋、火腿我都已经放在灶台上了,只需要把他们按次序丢到锅里翻炒就行。
而连接这些组件(或者用Bean更合适)的这种行为,就是依赖注入(DI)了,也可以叫做反转控制。举个例子,就我炒着蛋炒饭,但需要放鸡蛋的时候,临时找一只鸡来生(毕竟正常顺序是蛋由鸡生的)就不太好了。而是应该已经把蛋放在了灶台上,等到需要的时候,再给放到锅里。
即,程序所需要的组件,不是由组件自己来控制什么时候生成,怎么生成,而是已经交给了容器来处理。
以上,这大约就是Spring所做的一部分事情,当然,除了核心容器,Spring其实还有web框架、安全框架、Spring JDBC、微服务,SpringBoot等等大量的相关库产品,不然怎么能叫Spring全家桶呢。
02 手把手搭建一个Spring项目
把大象装进冰箱分三步,而搭建Spring项目
- 初始化项目
- 新建一个Controller文件
- 运行程序
网友评论