ioc存在的意义:“高内聚,低耦合”。
ioc可以使类与类之间-高内聚: 类内部的关系越紧密越好;低耦合: 类与类的关联越少越好。用自己的话说就是类与类之间需要调用的时候,我们再也不是直接去调用了,而是通过ioc容器,运行的时候动态的生成对象、执行对象的方法、改变对象的属性,spring就是通过反射来实现注入的。
采用了依赖注入,在初始化的过程中就不可避免的会写大量的new。这里IoC容器就解决了这个问题。这个容器可以自动对你的代码进行初始化,你只需要维护一个Configuration(可以是xml可以是一段代码),而不用每次初始化一辆车都要亲手去写那一大段初始化的代码。这是引入IoC Container的第一个好处
给ioc的定义:
创建对象
Ioc—Inversion of Control,即“控制反转”,不是什么技术,而是一种设计思想。在Java开发中,Ioc意味着将你设计好的对象交给容器控制,而不是传统的在你的对象内部直接控制。
给对象属性赋值
DI(Dependency Injection,依赖注入),Ioc的一个重点是在系统运行中,动态的向某个对象提供它所需要的其他对象。这一点是通过DI(Dependency Injection依赖注入)来实现的。
主要通过:下面三个方法实现
FileSystemXmlApplicationContex