IOC中文名叫控制反转。是一个概念,是一种思想。指将传统上由程序代码直接操控的对象调用权交给容器,通过容器来实现对象的装配和管理。控制反转就是对对象控制权的转移,从程序代码本身反转到了外
部容器。通过容器实现对象的创建,属性赋值,依赖的管理。IoC 是一个概念,是一种思想,其实现方式多种多样。当前比较流行的实现方式是依赖注入。应用广泛。
1-创建一个基于maven的quickstart项目 引入项目所需的依赖 这里引入spring-context即可
2-创建一个学生实体类 字段含有姓名和年龄并给相应的get和set方法和tostring
3-在resources目录下创建spring主配置文件
创建bean的标签对 去声明这个类(交给spring管理)
id:该属性是 Bean 实例的唯一标识,程序通过 id 属性访问 Bean,Bean
与 Bean 间的依赖关系也是通过 id 属性关联的。
class:指定该 Bean 所属的类,注意这里只能是类,不能是接口。
这里我使用了set注入默认值了
4-在单元测试里进行测试
可以看到 成功输出了小明 到此为止 我们就实现了一个基本的IoC的例子了
关于ApplicationContext容器中对象的装配时机
ApplicationContext 容器,会在容器对象初始化时,将其中的所有对象一
次性全部装配好。以后代码中若要使用到这些对象,只需从内存中直接获取即
可。执行效率较高。但占用内存。