获取ApplicationContext的几种方式

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

    

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.
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值