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操作相关方法,通过其他接口扩展其功能。

(4) ApplicationContext接口常用初始化类。

<1> ClassPathXmlApplicationContext(常用)

<2> FileSystemXmlApplicationContext

posted @ 2023-10-17 14:38  10kcheung  阅读(41)  评论(0)    收藏  举报