学习报告
- 指 Spring 创建对象的过程中,将对象依赖属性(简单值,集合,对象)通过配置设值给该对象
 
- 在 Packge【pojo】下新建一个【JuiceMaker】类:
 
- 在 xml 文件中配置 JuiceMaker 对象:
 
- 注意:这里要使用 ref 来注入另一个对象
 
- 在 【TestSpring】 中添加如下代码:
 
- 运行测试代码:
 
总结:IoC 和 DI 其实是同一个概念的不同角度描述,DI 相对 IoC 而言,明确描述了“被注入对象依赖 IoC 容器配置依赖对象”
IoC 如何实现的
最后我们简单说说IoC是如何实现的。想象一下如果我们自己来实现这个依赖注入的功能,我们怎么来做? 无外乎:
- 读取标注或者配置文件,看看JuiceMaker依赖的是哪个Source,拿到类名
 - 使用反射的API,基于类名实例化对应的对象实例
 - 将对象实例,通过构造函数或者 setter,传递给 JuiceMaker
 
我们发现其实自己来实现也不是很难,Spring实际也就是这么做的。这么看的话其实IoC就是一个工厂模式的升级版!当然要做一个成熟的IoC框架,还是非常多细致的工作要做,Spring不仅提供了一个已经成为业界标准的Java IoC框架,还提供了更多强大的功能,所以大家就别去造轮子啦!希望了解IoC更多实现细节不妨通过学习Spring的源码来加深理解!


                
            
        
浙公网安备 33010602011771号