我的spring学习笔记3-BeanFactory 详解

 

1、BeanFactory是什么?

BeanFactory是一个java类(接口)文件。

2、BeanFactory在哪里?

BeanFactory位置如下图:

我的spring学习笔记3-BeanFactory 详解

3、BeanFactory干啥的?

BeanFactory的主要工作有三:

(1)读取Bean定义文件。

(2)维护Bean对象与Bean对象之间的依赖关系。

(3)负责Bean的生命周期。

4、BeanFactory类的家底?

我的spring学习笔记3-BeanFactory 详解

 

 

实例化BeanFactory的三种方法

 

 

package com.test.spring;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.core.io.Resource;
import org.springframework.beans.factory.xml.XmlBeanFactory;
public class BeanFactoryUsage {
    public static void main(String[] args){
        //从文件系统资源实例化BeanFactory

        //默认从当前的工程目录下开始查找(工程目录/com/test/文件目录)
        org.springframework.core.io.Resource res = new org.springframework.core.io.FileSystemResource("com/test/bean.xml");
        org.springframework.beans.factory.BeanFactory factory = new org.springframework.beans.factory.xml.XmlBeanFactory(res);
        
        //从classpath下的资源实例化BeanFactory (Eclipse中的src/data目录下)
        org.springframework.core.io.Resource  resClasspath = new org.springframework.core.io.ClassPathResource("data/bean2.xml");
        org.springframework.beans.factory.BeanFactory factory2 = new XmlBeanFactory(resClasspath);
        
        //使用ApplicationContext从classpath下的xml文件实例化BeanFacotory
        String classPath = "data/";
        org.springframework.context.ApplicationContext appContext = new org.springframework.context.support.ClassPathXmlApplicationContext(new String[]{classPath+"bean2.xml"});
        //直接生成类工厂的实例。
        org.springframework.beans.factory.BeanFactory factory3 = (BeanFactory)appContext;
    }
}
 

你可能感兴趣的:(spring,系列,3)