方式一:类路径下的XML配置文件
ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
方式二:文件系统下的XML配置文件
ApplicationContext ctx = new FileSystemXmlApplicationContext("D:\\workspace\\spring\\spring_10_container\\src\\main\\resources\\applicationContext.xml"); // 绝对路径
方式一: 这种方式存在的问题是每次获取的时候都需要进行类型转换
BookDao bookDao = (BookDao) ctx.getBean("bookDao");
方式二:这种方式可以解决类型强转问题,但是参数又多加了一个。
BookDao bookDao = ctx.getBean("bookDao",BookDao.class);
方式三:这种方式就类似我们之前所学习依赖注入中的按类型注入。必须要确保IOC容器中该类型对应的bean对象只能有一个。
BookDao bookDao = ctx.getBean(BookDao.class);
(1) 在IDEA中双击shift,输入BeanFactory

(2) 点击进入BeanFactory类,ctrl+h,就能查看到如下结构的层次关系


