SpringIOC(DI)

IOC(Inversion of Control )控制反转

所谓控制反转就是把创建对象(bean),和维护对象(bean)的关系的权利从程序中转移到spring的容器(applicationContext.xml),而程序本身不再维护

DI(Dependency Injection)依赖注入

实际上diioc是同一个概念,spring设计者认为di更准确表示spring核心技术

使用了ioc容器创建对象和管理对象之间关系的工作由ioc容器处理

Spring为我们提供了applicationContext、BeanFactory两种容器

eanFactory是由org.springframework.beans.factory. BeanFactory接口定义,他是一个基础的IOC容器,并能提供完整的IOC服务支持。IOC容器需要为其具体的实现提供基本的功能规范,而BeanFactory接口则提供了该功能规范的设计,每个具体的Spring IOC容器都需要满足BeanFactory接口的定义。

ApplicationContextorg.springframework.context. ApplicationContext接口定义的,是以BeanFactory为基础构建的。是BeanFactory的子类,与BeanFactory先比除了具有基本的Bean创建、管理功能外,还有更多的附加功能,例如国际化等….

//使用spring

//方法一

//1.创建Spring容器

ApplicationContext ac = new ClassPathXmlApplicationContext("applicationcontext.xml");

//2.获得User对象

User u = (User) ac.getBean("u");

//User u = ac.getBean("u", User.class);//和上面等价 不需要强制转换

u.tell();

//方法二

BeanFactory factory = new XmlBeanFactory(new ClassPathResource("applicationcontext.xml"));

User x = (User) factory.getBean("u");

x.tell();、





 依赖注入的方式
   依赖注入一般存在三种方式:设值注入、构造方法注入、接口注入。但是在Spring中只支持前两种。

可以注入数组、集合(ListSetMap)。



猜你喜欢

转载自blog.csdn.net/qq_27493313/article/details/78332089
DI