2020最新详解Spring入门之"IoC控制反转"...

详解Spring入门之"IoC控制反转":

框架的学习对于程序员来说十分重要,Spring在框架中有着举足轻重的地位,因为现在对于它的使用也还是十分的广泛。
在Spring基础上开发的Springboot等框架在近几年流行程度十分火热,所以我们学习Spring框架十分有必要。
当我们开始接触Spring框架之后,了解了它是一个轻量级的框架,以"IoC"和"AOP"为内核,有着很多优点,如:简单可测试松耦合…当我们配置好Spring环境后(5+1jar包)之后,我们要重点理解Spring框架的思想以及工作原理。


这就需要我们必须理解好**"IoC"控制反转**的概念:
首先我们知道,没有学习框架之前,“万物皆可new”,通过new创建一个一个对象,可是这样有一个问题:这样做对象与对象之间的关系联系紧密,耦合性太大不利于后期维护
由此我们需要学习Spring,Spring的思想就是:Spring就是一个大工厂(容器),我们通过编写配置文件等操作,这个大工厂就创建了一个个对象(bean),工厂里就有对象了,并且这个Spring大工厂来帮我们管理这一个个对象。当我们需要这些对象时,我们就去这个大工厂里取,耦合性降低了,利于维护。
原来创建对象的是调用者通过new的方式,可是有了Spring之后,这个行为的控制权交给了Spring容器,这个"控制权"发生了"反转",这就是"控制反转IoC"的理解。


下面通过一个入门程序深入理解:

1.定义一个学生类:有三个属性,定义setter和getter方法,重写tostring方法。

2.src目录下编写xml配置文件,命名一般为applicationContext.xml:
通过标签来创建对象(相当于原来的new)。
id:唯一标识:意思就是命名一个唯一的标识名字,当取出这个对象时就靠这id。
class:指向的那个类,格式:包名.类名。
通过定义属性:
name:Student中的变量名,有no,name,age。
value:给属性赋值。(此操作就相当于原来的通过set方法为属性赋值)

3.取出Spring中的对象:
第一步:初始化Spring容器,加载我们刚才写的配置文件。意思可以理解为开辟了一个容器来装对象,读取了xml配置文件。
第二步:容器通过getBean方法(传入id名)获取指定的对象,获取后为Object类型,必须强转。
第三步:输出对象,因为重写了tostring方法,所以输出了属性信息。
这就意味着,我们以后创建对象,就去xml配置文件里去写就好了,当我们需要时,我们初始化Spring容器读取配置文件,通过id取出就好了。


这个时候我们再来引入一个概念:DI(依赖注入):这个概念和IoC(控制反转是一样的),只不过就是从另一个角度进行描述的,我们可以这样理解:我们通过定义value为name注入了特定值,而name又为id为student的这个对象注入了属性值,这个student的bean又为Spring注入了对象,也就是依赖注入。


在上述代码基础上添加一些功能:
1.定义一个课程接口,有一个learn方法:

2.定义两个类实现接口,重写方法:

3.编写配置文件:
4.在Student类中加入learn方法:
5.通过容器获取bean,再调用learn方法。


我们以前编写代码时如果用new就需要一个课程new出来一个,再或者编写一个静态工厂的方式,但是我们学习了Spring框架后,就变得容易了很多,在工厂里配置好,再从工厂里拿出来就可以。


全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务