IOC底层原理
1 XML解析技术读取配置文件
<bean id="empDao" class="com.msb.dao.impl.EmpDaoImpl"></bean>
将上面的信息读取进入程序 对象的ID ,一个是对象的类的全路径名
2 反射技术实例化对象,放到容器中
获得类的字节码
Class clazz =Class.forName("com.msb.dao.impl.EmpDaoImpl")
通过字节码实例化对象
Object obj = clazz.newInstance();
将对象放到一个map集合中
map.put("empDao",obj)
3工厂模式返回Bean对象 getBean方法
public Object getBean(String name){
Object obj =map.get(name);
return obj;
}
IOC接口
BeanFactory 接口: IOC容器基本功能接口,是spring内部使用的接口,我们在处理业务时一般不直接使用该接口
ApplicationContext 接口: BeanFactory的子接口,提供更多更强大的功能,研发人员一般使用的接口