spring的BeanFctory工厂

前言

入门总结之Spring框架中的工厂(了解)

1. ApplicationContext接口
    * 使用ApplicationContext工厂的接口,使用该接口可以获取到具体的Bean对象
    * 该接口下有两个具体的实现类
        * ClassPathXmlApplicationContext            -- 加载类路径下的Spring配置文件
        * FileSystemXmlApplicationContext           -- 加载本地磁盘下的Spring配置文件

2. BeanFactory工厂(是Spring框架早期的创建Bean对象的工厂接口)
    * 使用BeanFactory接口也可以获取到Bean对象
        public void run(){
            BeanFactory factory = new XmlBeanFactory(new ClassPathResource("applicationContext.xml"));
            UserService us = (UserService) factory.getBean("us");
            us.sayHello();
        }

    * BeanFactory和ApplicationContext的区别
        * BeanFactory               -- BeanFactory采取延迟加载,第一次getBean时才会初始化Bean
        * ApplicationContext        -- 在加载applicationContext.xml时候就会创建具体的Bean对象的实例,还提供了一些其他的功能
            * 事件传递
            * Bean自动装配
            * 各种不同应用层的Context实现

分析 

         spring它是有工厂的,找的顺序是:功能=》工厂=》xml=》实现类。
         其中ApplicationContext这个接口,是最新的,最常使用的,它下面有2个实现类,ClassPathApplicationContext主要是加载src下的配置文件,还有一个是FileSystemApplicationContext系统文件主要是加载在其他磁盘下的。现在基本都是方在src下面的,所以ClassPathApplicationContext用的会比较多。
         
      如下是两个工厂的代码实现:

         以上是spring的2个工厂,其中横杠说明该方法已经过时,但是可以使用。
         那么BeanFactory和ApplicationContext的差别,最主要的差别就是,ApplicationContext在创建实现类的实例的时候,就把配置文件加载好了。也就是说,在tomcat启动的时候就加载好了。而BeanFactory是在实例化之后,在getBean()的时候,才加载文件,也就是说第一个人第一次访问的时候,才 开始加载,那么效率就下降了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值