程序员之家 >> 文章 >> Java技术 >> Web框架
获取ApplicationContext的几种方式
作者:   来源:javaeye博客   发布者:admin
时间:2009-05-06 09:35:16   点击:1564

第一种采用类路径的加载方式获取:

    

ApplicationContext ctx=new ClassPathXmlApplicationContext("classpath:application.xml");

此处的文件必须位于classpath路径中

  

第二种采用系统文件路径加载的方式获取:

ApplicationContext ctx=new FileSystemXmlApplicationContext("/application.xml");

此处的application.xml必须位于系统中一个具体的位置

 

第三种使用beanfactory加载配置信息:

   Resource r=new ClassPathResource(""); 此处必须为classpath路径中
        Resource res=new FileSystemResource("");必须为文件路径中
       
  BeanFactory bf=new XmlBeanFactory(r);

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

Java code
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:
 
Java code
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.

 

最新文章
点击排行