《Spring揭秘》第二章 读书笔记 —— IoC的基本概念

来源:互联网 发布:java 判断类型相同 编辑:程序博客网 时间:2024/06/15 02:27

Spring这个东东,虽然会用,但是总停留在运用的层面上不能够行呀,于是就搜索到比较公认推荐的这本《Spring揭秘》。

书中的第一章当然是日常的Spring历史和发展的介绍了,我就不啰嗦这些文学知识啦
Spring的核心知识就是IoC(全称是Inversion of Control),中文的意思呢,就是“控制反转”,其实很简明的道出了IoC的作用和工作方式:也就是让人来为自己服务。

IoC的产生:在程序开发时候,我们需要某个对象,现在就需要主动来创建这样一个对象,但是现实情况中,项目中有很多的对象,你需要在众多的对象中去主动寻找并且获取,但是如果说当我们需要某种工具的时候,自己就生成或者说被别人送来,是不是轻松很多,也不用大费周折去寻找

这就是IoC的角色和作用

IoC的实现方式有三种:
1.构造方法注入

public FXNewsProvider(IFXNewsListener newsListner,IFXNewsPersister newsPersister){    this.newsListener = newsListner;    this.newPersistener = newsPersister; }

2.setter方法注入

public class FXNewsProvider{    private IFXNewsListener newsListener;    private IFXNewsPersister newPersistener;    public IFXNewsListener getNewsListener() {        return newsListener;    }    public void setNewsListener(IFXNewsListener newsListener) {        this.newsListener = newsListener;    }    public IFXNewsPersister getNewPersistener() {        return newPersistener;    }    public void setNewPersistener(IFXNewsPersister newPersistener) {        this.newPersistener = newPersistener;    }}

3.接口注入
不好实现,而且代码也不明了,所以也没有好的代码演示

三种方法的优点和不足
1.构造方法注入的优点是当对象构造完成之后,就能够处于就绪状态,能够提供使用,而缺点在于如果对象太多,或者某个对象的参数多而复杂的话,构造方法就很繁琐,并且维护也是有较大的困难

2.setter方法注入主要体现在性能方面,因为方法可以自定义命名,描述也就更加人性化了,可以有默认值设置。不足的地方可能就是不能立即使用该对象

3.接口注入的方法的话,平常会用到spring,但是从来没有听说过这种方式,可见其落后性,而且接口会让实现类完成一些不必要的方法,这样就会导致出现方法入侵的危险。

0 0
原创粉丝点击