1.IOC思想是基于IOC容器完成的,IOC的底层就是对象工厂
2.Spring里边提供了IOC容器的实现的两种方式
(1) BeanFactroy:IOC容器是Spring内部的使用接口,不提供给开发人员使用
public class DemoTest {
//传统写法
@Test
public void run(){
Demo demo = new Demo();
demo.hello();
}
//spring写法
@Test
public void run1(){
//创建spring工厂,加载配置文件
BeanFactory ac = new ClassPathXmlApplicationContext("applicationContext.xml");
//获取bean对象
Demo demo = (Demo) ac.getBean("demo");
demo.hello();
}
}
* BeanFactroy:加载配置文件的时候不会去创建对象,在使用对象的时候才会去创建对象
(2)ApplicationContext:BeanFactory接口的子接口,提供了更多更强大的功能,一般由开发人员进行使用
public class DemoTest {
//传统写法
@Test
public void run(){
Demo demo = new Demo();
demo.hello();
}
//spring写法
@Test
public void run1(){
//创建spring工厂,加载配置文件
ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
//获取bean对象
Demo demo = (Demo) ac.getBean("demo");
demo.hello();
}
}
*加载配置文件的时候会把对象创建
配置xml代码
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <!--IOC管理bean--> <!--id:类的唯一标识符 class:类的全路径名--> <bean id="demo" class="com.qcby.Demo" ></bean> </beans>