Spring 容器相关内容
1 容器的创建方式
(1) 类路径下的XML配置文件
//这种方式是从resource目录下开始查找application.xml配置文件的,使用的是相对路径。ClassPathXmlApplicationContext cpxac = new ClassPathXmlApplicationContext("applicationContext.xml");
(2) 文件系统下的XML配置文件
//这种方式是从项目路径下开始查找applicationContext.xml配置文件的,使用的是绝对路径。
//不推荐使用。FileSystemXmlApplicationContext fsxac = new FileSystemXmlApplicationContext("D:\\workspace\\spring\\spring_10_container\\src\\main\\resources\\applicationContext.xml");
2 获取Bean的三种方式
(1) 方式一
BookDao bookDao = (BookDao) cpxac.getBean("bookDao");
//这种方式存在的问题是每次获取的时候都需要进行类型转换。
(2) 方式二
BookDao bookDao = cpxac.getBean("bookDao",BookDao.class);
//这种方式可以解决类型强转问题,但是参数又多加了一个。
(3) 方式三
BookDao bookDao = cpxac.getBean(BookDao.class);
//类似依赖注入中的按类型注入。必须要确保IOC容器中该类型对应的bean对象只能有一个。
3 容器类层次结构
(1) BeanFactory接口
是IoC容器的顶层接口,初始化BeanFactory对象时,加载的bean延迟加载,只有在获取bean对象的时候才会去创建。
(2) ApplicationContext接口
是Spring容器的核心接口,初始化时bean立即加载,容器加载的时候就会创建bean对象。
//在Bean标签中使用lazy-init="true",也可实现bean延迟加载。
(3) ApplicationContext接口
提供基础的bean操作相关方法,通过其他接口扩展其功能。

浙公网安备 33010602011771号