前言
IoC是Spring的核心。是一种设计思想,不是一种技术。
一、IoC是什么?
IoC(inversion of control) 控制反转是一个管理Spring bean的容器。(Spring bean是为了和Java对象做区分,实际上bean和Java对象没有实质区别)
二、IoC用来做什么
- 实现对象的实例化和初始化(用BeanFactory+反射实现)
- 管理对象和对象之间的依赖(平常如果要在对象A中调用B类方法,需要在A类方法中创建对象B)
三、IoC实现流程
1.基于xml管理bean
- 配置Spring的xml文件,在其中写明要创建的类id和类的全路径
<bean id="" class=""><bean>
- 加载配置文件,创建对象
ApplicationContext context = new ClassPathXmlApplicationContext("bean.xml");
- 获取对象
//1 根据id
User user1 = (User) context.getBean("user");
System.out.println("1 根据id获取到bean:" + user1 );
//2 根据类型
User user2 = context.getBean(User.class);
System.out.println("2 根据类型获取到bean:" + user2);
//3 根据id+类型
User user3 = context.getBean("user", User.class);
System.out.println("3 根据id+类型获取到bean:" + user3);