对于使用spring框架的开发者来说,当然我也是其中一员。使用bean前提我们必须实例化IoC,读取其配置来创建bean实例。
spring提供了两种方式来实例化spring Ioc.基本的一种为Bean工厂。更高级的一种称为应用上下文,这是对bean工厂的一种兼容的扩展。
注意:这两种IoC容器类型的bean配置文件相同。
应用程序上下文提供比bean工厂更高级的特性,同时保持基本特性的兼容。所以除非是资源有限的应用程序(例如运行于一个小脚本或者移动设备),否则推荐使用上下文。
bean工厂和应用程序上下文的接口分别是BeanFactory和ApplicationContext,ApplicationContext接口是BeanFactory的子接口。
工作原理
实例化应用程序上下文,ApplicationContext仅仅是接口,必须实例化接口的实现。ClassPathXmlApplicationContext实现从classpath中装入一个xml配置文件,构建一个应用程序上下文。也可以指定多个配置文件。
ApplicationContext cxt = new ClassPathXmlApplicationContext("beans.xml")
除了ClassPathXmlApplicationContext,spring还提供多种其它的ApplicationContext实现。FileSystemXmlApplicationContext用于从文件系统或者URL装载XML配置文件,而XmlWebApplicationContext和XmlPortletApplicationContext仅能用于Web和入口应用程序。
从Ioc容器中获取Bean
通过容器的getBean()方法获取