spring加載ApplicationContext.xml的四種方式
spring 中加載xml配置文件的方式,好像有4種, xml是最常見的spring 應用系統配置源。Spring中的幾種容器都支持使用xml裝配bean,包括:
XmlBeanFactory , ClassPathXmlApplicationContext , FileSystemXmlApplicationContext , XmlWebApplicationContext
一:XmlBeanFactory 引用資源
Resource resource = new ClassPathResource("appcontext.xml"); BeanFactory factory = new XmlBeanFactory(resource);
二:ClassPathXmlApplicationContext 編譯路徑
ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml"); ApplicationContext ac = new ClassPathXmlApplicationContext(new String[]{"applicationContext.xml","dao.xml"}); ApplicationContext ac = new ClassPathXmlApplicationContext("classpath:/*.xml"); ApplicationContext factory=new ClassPathXmlApplicationContext("classpath:appcontext.xml"); ApplicationContext factory=new ClassPathXmlApplicationContext("appcontext.xml"); // src目錄下的 ApplicationContext factory=new ClassPathXmlApplicationContext("conf/appcontext.xml"); // src/conf 目錄下的 ApplicationContext factory=new ClassPathXmlApplicationContext("file:G:/Test/src/appcontext.xml"); RegisterDAO registerDAO = (RegisterDAO)ac.getBean("RegisterDAO");
三 : 用文件系統的路徑
ApplicationContext factory=new FileSystemXmlApplicationContext("src/appcontext.xml"); //使用了 classpath: 前綴,作為標志, 這樣,FileSystemXmlApplicationContext 也能夠讀入classpath下的相對路徑 ApplicationContext factory=new FileSystemXmlApplicationContext("classpath:appcontext.xml"); ApplicationContext factory=new FileSystemXmlApplicationContext("file:G:/Test/src/appcontext.xml"); ApplicationContext factory=new FileSystemXmlApplicationContext("G:/Test/src/appcontext.xml");
四: XmlWebApplicationContext 是專為Web工程定制的。
ServletContext servletContext = request.getSession().getServletContext(); ApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(servletContext );
classpath:前綴是不需要的,默認就是指項目的classpath路徑下面;如果要使用絕對路徑,需要加上file:前綴表示這是絕對路徑;