<span style="white-space:pre"> </span>ApplicationContext ac = null;
User user = null;
//ClassPathXmlApplicationContext用 classpath路径,有两种方式
ac = new ClassPathXmlApplicationContext("applicationContext.xml");
user = (User)ac.getBean("user");
System.out.println("不带classpath前缀:" + user.getUserName());
ac = new ClassPathXmlApplicationContext("classpath:applicationContext.xml");
user = (User)ac.getBean("user");
System.out.println("带classpath前缀:" + user.getUserName());
//ClassPathXmlApplicationContext用file路径,当然也可以使用相对路径
ac = new ClassPathXmlApplicationContext("file:E:/workspace_test/spring_web/src/applicationContext.xml");
user = (User)ac.getBean("user");
System.out.println("ClassPathXmlApplicationContext绝对路径:" + user.getUserName());
//相对路径
ac = new ClassPathXmlApplicationContext("file:src/applicationContext.xml");
user = (User)ac.getBean("user");
System.out.println("ClassPathXmlApplicationContext相对路径:" + user.getUserName());
//FileSystemXmlApplicationContext,使用绝对路径,当然也可以使用相对路径
ac = new FileSystemXmlApplicationContext("E:/workspace_test/spring_web/src/applicationContext.xml");
user = (User)ac.getBean("user");
System.out.println("不带file前缀:" + user.getUserName());
ac = new FileSystemXmlApplicationContext("file:E:/workspace_test/spring_web/src/applicationContext.xml");
user = (User)ac.getBean("user");
System.out.println("带file前缀" + user.getUserName());
//FileSystemXmlApplicationContext,使用classpath路径
ac = new FileSystemXmlApplicationContext("classpath:applicationContext.xml");
user = (User)ac.getBean("user");
System.out.println("FileSystemXmlApplicationContext使用classpath:" + user.getUserName());
由上面代码看出,可以看出ClassPathXmlApplicationContext和FileSystemXmlApplicationContext都能通过相对路径,绝对路径或者类路劲加载bean。
当有两个配置文件时,可以new ClassPathXmlApplication(new String[] {“配置1”,"配置2"})