通过ClassPathXmlApplicationContext获取
|
package factory;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.yydone.ma.service.IMemberService;
import com.yydone.ma.service.impl.MemberService;
public class TestClassPathXmlApplicationContext {
/**
* @param args
*/
public static void main(String[] args) {
ApplicationContext context = new ClassPathXmlApplicationContext("spring.xml");
IMemberService memberService = context.getBean(MemberService.class);
System.out.println(memberService.get().getMemberAccount());
}
}
2、通过FileSystemXmlApplicationContext获取IoC容器
package factory;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.context.support.FileSystemXmlApplicationContext;
import com.yydone.ma.service.IMemberService;
import com.yydone.ma.service.impl.MemberService;
public class TestFileSystemXmlApplicationContext {
/**
* @param args
*/
public static void main(String[] args) {
test1();
test2();
test3();
}
public static void test1() {
ApplicationContext context = new FileSystemXmlApplicationContext("classpath:spring.xml");
IMemberService memberService = context.getBean(MemberService.class);
System.out.println(memberService.get().getMemberAccount());
}
public static void test2() {
ApplicationContext context = new FileSystemXmlApplicationContext("src/main/resource/spring.xml");
IMemberService memberService = context.getBean(MemberService.class);
System.out.println(memberService.get().getMemberAccount());
}
public static void test3() {
ApplicationContext context = new FileSystemXmlApplicationContext("file:/home/yunix/spring.xml");
IMemberService memberService = context.getBean(MemberService.class);
System.out.println(memberService.get().getMemberAccount());
}
}
1.默认为项目工作路径 即项目的根目录
ApplicationContext a = new FileSystemXmlApplicationContext("src/main/resources/spring.xml");
2.前缀classpath:表示的是项目的classpath下相对路径
ApplicationContext a = new FileSystemXmlApplicationContext("classpath:spring.xml");
3.使用前缀file 表示的是文件的绝对路径
ApplicationContext a = new FileSystemXmlApplicationContext("file:D:/spring.xml");
ApplicationContext a = new FileSystemXmlApplicationContext("D:/spring.xml");
4.可以同时加载多个文件
String[] xmlCfg = new String[] { "src/main/resources/base.spring.xml","classpath:spring.xml"};
ApplicationContext a = new FileSystemXmlApplicationContext(xmlCfg);
5.使用通配符加载所有符合要求的文件
ApplicationContext a = new FileSystemXmlApplicationContext("classpath:*.spring.xml")
;