ApplicationContext——FileSystemXmlApplication(二)

2、FileSystemXmlApplication:從文件系統中裝載配置文件

(1)實現類——Car.java文件

    public class Car {  
        private String brand;  
        private String color;  
        private int maxSpeed;  
        public Car(){  
              
        }  
          
        public Car(String brand, String color, int maxSpeed) {  
            super();  
            this.brand = brand;  
            this.color = color;  
            this.maxSpeed = maxSpeed;  
        }  
      
        public String getBrand() {  
            return brand;  
        }  
        public void setBrand(String brand) {  
            this.brand = brand;  
        }  
        public String getColor() {  
            return color;  
        }  
        public void setColor(String color) {  
            this.color = color;  
        }  
        public int getMaxSpeed() {  
            return maxSpeed;  
        }  
        public void setMaxSpeed(int maxSpeed) {  
            this.maxSpeed = maxSpeed;  
        }  
        @Override  
        public String toString() {  
            return "brand:"+brand+"  color:"+color+"  maxSpeed:"+maxSpeed;  
        }  
    }  

(2)配置文件——beans.xml

    <?xml version="1.0" encoding="UTF-8"?>  
    <beans  
        xmlns="http://www.springframework.org/schema/beans"  
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
        xmlns:p="http://www.springframework.org/schema/p"  
        xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd">  
        <bean id="car1" class="com.bean.Car"  
            p:brand="寶馬"  
            p:color="黑色"  
            p:maxSpeed="200"/>  
    </beans>  

(3)Spring IoC容器

import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.FileSystemXmlApplicationContext;


/**
 * @author huamanxi
 * FileSystemXmlApplicationContext類
 */
public class FileSystem {
	@Test
	public void testFileSystem(){
		ApplicationContext ac=new FileSystemXmlApplicationContext("E://MYeclipse//myeclipse1//ApplicationContext//src//com//bean//beanfactory//beans.xml");
		System.out.println("init ApplicationContext");
		Car car=(Car) ac.getBean("car1");
		System.out.println(car);
		System.out.println("Car bean is ready for use");
	}
}

運行結果:

init ApplicationContext
brand:寶馬  color:黑色  maxSpeed:200
Car bean is ready for use

由運行結果可以看出,兩種加載配置文件的方式得到的結果完全相同。


ApplicationContext與BeanFactory初始化的區別:

       BeanFactory在初始化容器時,並未實例化Bean,直到第一次訪問某個Bean時才實例化目標Bean

       而ApplicationContext則在初始化應用上下文時就實例化所有單實例的Bean。

       因此ApplicationContext的初始化時間會比BeanFactory稍微長一點。

發佈了60 篇原創文章 · 獲贊 12 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章