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

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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值