spring读取资源文件

来源:互联网 发布:手机地球仪软件中文版 编辑:程序博客网 时间:2024/05/20 16:45
***对比ObjectFactory与ApplicationContext***•ApplicationContext是BeanFactory的子接口。•BeanFactory通常称为Bean容器,ApplicationContext通常称为应用上下文。•ApplicationContext的功能要多于BeanFactory,如它可以加载外部的资源文件、可以自动进行AOP切面、可以识别自动代理的的类、可以识别用于监听Bean创建的类等。ApplicationContext是一个接口,有多个实现类,我们在使用时就是用的他的某个实现类:1,  ClassPathXmlApplicationContext2,  FileSystemXmlApplicationContext3,  XmlWebApplicationContext(在Web应用中使用)
***ClassPathXmlApplicationContext(读取classpath中的资源)***读取一个配置文件    @Test    public void testApplicationContext() throws Exception {        ApplicationContext app = new ClassPathXmlApplicationContext("applicationContext.xml");        UserServiceImp userService = (UserServiceImp) app.getBean("userService");        System.out.println(userService.getUserDao().toString());        userService.getUserDao().printInfo();    }读取多个配置文件    @Test    public void testApplicationContext() throws Exception {        ApplicationContext app = new ClassPathXmlApplicationContext(new String[]{                "applicationContext.xml","applicationContext_dao.xml"        });        UserDao userDao1 = (UserDao) app.getBean("userDao1");        userDao1.printInfo();        System.out.println("*************");        UserDao userDao = (UserDao) app.getBean("userDao");        userDao.printInfo();    }
***FileSystemXmlApplicationContext(读取指定路径的资源)***    @Test    public void testFileSystemXmlApplicationContext() throws Exception {        ApplicationContext app = new FileSystemXmlApplicationContext(new String[]{                "c:/applicationContext.xml","c:/applicationContext_dao.xml"        });        UserDao userDao1 = (UserDao) app.getBean("userDao1");        userDao1.printInfo();        System.out.println("*************");        UserDao userDao = (UserDao) app.getBean("userDao");        userDao.printInfo();    }
0 0