转发:
http://www.java265.com/JavaFramework/Spring/202205/3284.html
下文笔者讲述Spring中加载ApplicationContext.xml的方法分享,如下所示:
xml是spring最早期的配置方式之一,
目前市面上很多SpringMVC任然采用这种配置方式,那么Spring如何加载xml呢?
下文笔者将一一道来,如下所示
spring 中加载xml配置文件的方式 有4种,分别为: XmlBeanFactory, ClassPathXmlApplicationContext, FileSystemXmlApplicationContext, XmlWebApplicationContext
一:XmlBeanFactory 引用资源
Resource resource = new ClassPathResource(\"applicationContext.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:D:/Test/src/appcontext.xml\"); ApplicationContext factory=new FileSystemXmlApplicationContext(\"D:/Test/src/appcontext.xml\");
四: XmlWebApplicationContext 是专为Web工程定制的
ServletContext servletContext = request.getSession().getServletContext(); ApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(servletContext ); classpath:前缀是不需要的 默认就是指项目的classpath路径下面 如果要使用绝对路径,需要加上file:前缀表示这是绝对路径;
来源:https://www.cnblogs.com/java265/p/16223518.html
本站部分图文来源于网络,如有侵权请联系删除。