Spring之BeanFactory与ApplicationConText区别

使用BeanFactory从xml配置文件加载bean:

import org.springframework.beans.factory.xml.XmlBeanFactory; ­

import org.springframework.core.io.FileSystemResource; ­

public class XmlConfigWithBeanFactory { ­

   public static void main(String[] args) { ­

        XmlBeanFactory factory = new XmlBeanFactory(new FileSystemResource( "build/beans.xml")); ­

   } ­

} ­

使用ApplicationConText从xml配置文件加载bean: ­

public class XmlConfigWithApplication{ ­

public static void main(String[] args){ ­

  ApplicationContext application = new ClassPathXmlApplicationContext(beans.xml")); ­

   application.getBean("BeanName"); ­

} ­

} ­

ApplicationContext和BeanFacotry相比,提供了更多的扩展功能,但其主要区别在于后者是延迟加载,如果Bean的某一个属性没有注入,BeanFacotry加载后,直至第一次使用调用getBean方法才会抛出异常;而ApplicationContext则在初始化自身是检验,这样有利于检查所依赖属性是否注入;所以通常情况下我们选择使用ApplicationContext.­

posted @ 2009-09-27 16:13  路灯不再孤独  阅读(322)  评论(0编辑  收藏  举报