Spring总结篇(2):IOC容器以及bean的一些细节

1.IOC的两种方式?

ApplicationContext应用上下文容器和bean工厂

2.从ApplicationContext应用上下文容器中获取bean和从bean工厂容器中获取bean有什么区别?

--ApplicationContext容器

 ( 提前加载,浪费一些内存,大部分用它)

ApplicationContext context = new ClassPathXmlApplicationContext("spring.xml");

当使用ApplicationContext容器,则配置的bean如果是singleton,一旦容器被实例,bean也被实例了。(前提与载入所有单例的bean)

--bean工厂

(实时加载,节约一点内存,用的不多)

BeanFactory factory = new XmlBeanFactory(new ClassPathResource("spring.xml"));

当使用bean工厂时,当容器被实例化时,配置的bean不会被实例化,当你获取bean的时候,才被实例化,实时加载

总结:

一般没有特殊要求的话,应当使用ApplicationContext完成

3.关于bean中scope的细节

singleton: 单例

prototype: 原型(每次都是全新的)

request: 一次请求有效(Java WEB 开发中)

session: Session级有效(Java WEB 开发中)

global-session: spring容器ApplicationContext一致


4.三种获取ApplicationContext对象引用的方法

-- ClassPathXmlApplicationContext(通过类路径)

--FileSystemXmlApplicationContext(通过文件路径)绝对路径比较麻烦

--XmlWebApplicationContext(通过WEB系统中加载)



下次更新bean的生命周期总结

你可能感兴趣的:(Spring总结篇(2):IOC容器以及bean的一些细节)