依赖注入和控制反转

1.1、IoC是什么

谁控制谁,控制什么:

传统Java SE程序设计,我们直接在对象内部通过new进行创建对象,是程序主动去创建依赖对象;而IoC是有专门一个容器来创建这些对象,即由Ioc容器来控制对 象的创建;谁控制谁?当然是IoC 容器控制了对象;控制什么?那就是主要控制了外部资源获取(不只是对象包括比如文件等)。

为何是反转,哪些方面反转了:

有反转就有正转,传统应用程序是由我们自己在对象中主动控制去直接获取依赖对象,也就是正转;而反转则是由容器来帮忙创建及注入依赖对象;为何是反转?因为由容器帮我们查找及注入依赖对象,对象只是被动的接受依赖对象,所以是反转;哪些方面反转了?依赖对象的获取被反转了。

  • 控制反转IoC是说创建对象的控制权进行转移,以前创建对象的主动权和创建时机是由自己把控的,而现在这种权力转移到第三方,比如转移交给了IoC容器,它就是一个专门用来创建对象的工厂,你要什么对象,它就给你什么对象,有了 IoC容器,依赖关系就变了,原先的依赖关系就没了,它们都依赖IoC容器了,通过IoC容器来建立它们之间的关系。

什么是IOC容器?

  • IOC即反转控制,创建对象的权利交给容器来完成,而程序要做的仅仅是使用对象。
  • Spring 容器是 Spring 框架的核心。容器将创建对象,把它们连接在一起,配置它们,并管理他们的整个生命周期从创建到销毁。Spring 容器使用依赖注入(DI)来管理组成一个应用程序的组件。这些对象被称为 Spring Beans

从IOC容器中获取bean

方式一:通过id获取bean

/方式一:通过id获取bean/
Student student = context.getBean(Student.class);
System.out.println(student.getName());123

方式二:通过.class获取bean

/方式二:通过.class文件获取bean/
Student s = (Student)context.getBean("student") ;
System.out.println(s.getName());

Spring当中的常用标记,常用属性,常用注解

[https://blog.csdn.net/duangongzi001/article/details/79792988]https://blog.csdn.net/duangongzi001/article/details/79792988()

你可能感兴趣的:(依赖注入和控制反转)