package com.spring.hello;
import org.junit.Test;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.context.support.FileSystemXmlApplicationContext;
import org.springframework.context.support.GenericXmlApplicationContext;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.FileSystemResource;
public class TestSpring {
/**
* 4.x版本以后读取spring的配置文件方式
* 最常用方式
*/
@Test
public void testSpringClassPath(){
ClassPathXmlApplicationContext ca=new ClassPathXmlApplicationContext("applicationContext.xml");
UserInfo user=(UserInfo)ca.getBean("user");
System.out.println(user);
}
/**
* 4.x版本以后读取spring的配置文件方式
* classpath用于访问类路径下的配置文件
* filesyetem用于访问文件系统下的配置文件
*/
@Test
public void testSpringFileSystem(){
FileSystemXmlApplicationContext ca=new FileSystemXmlApplicationContext("c:/applicationContext.xml");
UserInfo user=(UserInfo)ca.getBean("user");
System.out.println(user);
}
/**
* GenericXmlApplicationContext 是通用过的xml加载方式
* 可以使用 前缀 判断是类路径还是文件系统
* file:表示文件系统
* classpath代表类路径
*/
@Test
public void testSpringGener(){
GenericXmlApplicationContext ca=new GenericXmlApplicationContext("file:c:/applicationContext.xml");
UserInfo user=(UserInfo)ca.getBean("user");
System.out.println(user);
}
/**
* 3.x版本以后读取spring的配置文件方式
*/
@Test
public void testSpring3XClassPath(){
ClassPathResource cpr=new ClassPathResource("applicationContext.xml");
BeanFactory bf=new XmlBeanFactory(cpr);
UserInfo user=(UserInfo)bf.getBean("user");
System.out.println(user);
}
/**
* 3.x版本以后读取spring的配置文件方式
*/
@Test
public void testSpring3XFileSystem(){
FileSystemResource cpr=new FileSystemResource("c:/applicationContext.xml");
BeanFactory bf=new XmlBeanFactory(cpr);
UserInfo user=(UserInfo)bf.getBean("user");
System.out.println(user);
}
}