spring源码第二章_容器的基本实现

一、先用一个简单的获取bean实例的例子来了解

  1、类结构如下: 

  

  2、MyTestBean.java为bean对象,实体类,代码如下:

MyTestBean

  3、BeanFactoryTest代码如下:

package org.springframework.liulei;

import java.io.IOException;
import junit.framework.TestCase;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.core.io.ClassPathResource;


/**
 * 
 * @author Liulei
 */
public class BeanFactoryTest extends TestCase{

    @SuppressWarnings("deprecation")
    public void testSimpleLoad() throws IOException{
        System.out.println(BeanFactoryTest.class.getResource("beanFactoryTest.xml"));
        BeanFactory bf = new XmlBeanFactory(new ClassPathResource("beanFactoryTest.xml",getClass()));
        MyTestBean bean = (MyTestBean) bf.getBean("myTestBean");
        System.out.println(bean.getTestStr());
    }
    
}
BeanFactoryTest

  此处以此类为主要阐述对象:

    BeanFactory bf = new XmlBeanFactory(new ClassPathResource("beanFactoryTest.xml",getClass()));

    通过XmlBeanFactory初始化的时序为:

      1、new ClassPathResource:拿到resource资源,此处路径需谨慎,"/*.xml"则是指classpath路径下的文件,"*.xml"是指当前类同项目包下的xml

      2、new XmlBeanFactory:通过XmlBeanDefinitionReader的loadBeanDefinitions(resource)方法返回bean定义的数目

 

posted @ 2017-12-24 21:58  Mr.Liu_Blog  阅读(198)  评论(0编辑  收藏  举报