『Spring』Spring核心容器
Spring核心容器
创建容器
- 方式一:类路径加载配置文件。
1 | ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml"); |
- 方式二:文件路径加载配置文件。
1 | ApplicationContext ctx = new FileSystemXmlApplicationContext("D:\\applicationContext.xml"); |
- 加载多个配置文件。
1 | ApplicationContext ctx = new ClassPathXmlApplicationContext("bean1.xml", "bean2.xml"); |
获取bean对象
- 方式一:使用bean名称获取。
弊端:需要强制类型转换。
1 | BookDao bookDao = (BookDao) ctx.getBean("bookDao"); |
- 方式二:使用bean名称获取并指定类型
推荐使用。
1 | BookDao bookDao = ctx.getBean("bookDao", BookDao.class); |
- 方式三:使用bean类型获取。
弊端:如果IOC容器中同类型的Bean对象有多个,此处获取会报错。
1 | BookDao bookDao = ctx.getBean(BookDao.class); |
容器类层次结构
BeanFactory
- 类路径加载配置文件。
1 | Resource resources = new ClassPathResource("applicationContext.xml"); |
- BeanFactory创建完毕后,所有的Bean均为延迟加载,当调用getBean()方法获取Bean对象时才会创建Bean对象并返回。
Spring核心容器总结
容器相关
BeanFactory是IoC容器的顶层接口,初始化BeanFactory对象时,加载的bean延迟加载。
ApplicationContext接口是Spring容器的核心接口,初始化时bean立即加载。
ApplicationContext接口提供基础的bean操作相关方法,通过其他接口扩展其功能。
ApplicationContext接口常用初始化类:
ClassPathXmlApplicationContext(常用)
FileSystemXmlApplicationContext
bean相关
依赖注入相关
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 KissSheep's Blog!
评论