spring中ApplicationContext类实例化的3种方式和bean获取的2种方式

时间:2022-12-18 19:05:50

本文主要介绍spring中ApplicationContext类实例化的3种方式和bean获取的2种方式

首先,获取ApplicationContext类的对象的3种方式:

1.通过类路径

ApplicationContext ac=new ClassPathXmlApplicationContext("decoupling/beans.xml");


2.通过文件路径

FileSystemXmlApplicationContext ac=new FileSystemXmlApplicationContext("D:\\workspace\\myspring\\src\\decoupling\\beans.xml");

3.通过web路径

XmlWebApplicationContext(通过web容器获取ApplicationContext对象)


然后,获取bean的2种方法.

1.通过ApplicationContext获取

ApplicationContext ac=new ClassPathXmlApplicationContext("decoupling/beans.xml");
ChangeLetterInterface changeLetter =(ChangeLetterInterface) ac.getBean("changeLetter");

此方法采用比较多,当bean的scope值为singleton(默认值)时,在加载bean.xml文件时就已经将bean实例化了,缺点是耗内存


2.通过BeanFactory获取

BeanFactory factory=new XmlBeanFactory(new ClassPathResource("decoupling/beans.xml"));
factory.getBean("changeLetter");


此方法采用较少,主要用于移动等内存少的设备上,其延时加载,在执行factory.getBean("changeLetter")时才对bean进行实例化,