一、利用ClassPathXmlApplicationContext从classpath中读取XML文件
例1:
/* 加载应用上下文(单个文件)
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("classpath:applicationContext.xml");
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("resource/applicationContext.xml");"src/resource/"
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("file:D:/usermanage/src/applicationContext.xml");
*/
/* 加载应用上下文(多个文件) */
ApplicationContext applicationContext = new ClassPathXmlApplicationContext(new String[]{"applicationContext.xml","applicationContext_pro.xml"});
/* 获取bean
BeanFactory factory = applicationContext;
IUserService userService = (IUserService) factory.getBean("userService");
*/
IUserService userService = (IUserService) applicationContext.getBean("userService");
testAddUser(userService);//业务
例2:
/* 加载应用上下文(单个文件)
ClassPathXmlApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
*/
/* 加载应用上下文(多个文件) */
ClassPathXmlApplicationContext applicationContext = new ClassPathXmlApplicationContext(new String[] { "applicationContext.xml" });
// 获取bean
IUserService userService = (IUserService) applicationContext.getBean("userService");
testAddUser(userService);
// 关闭上下文
applicationContext.close();
二、利用ClassPathResource,从classpath中读取XML文件
例3:
/* 加载应用上下文(单个文件) */
Resource resource = new ClassPathResource("applicationContext.xml");
// 获取bean
BeanFactory factory=new XmlBeanFactory(resource);
IUserService userService = (IUserService)factory.getBean("userService");
testAddUser(userService);
三、利用XmlWebApplicationContext读取( 专为Web工程定制)
例4:
/* 加载应用上下文 */
XmlWebApplicationContext xmlWebApplicationContext = new XmlWebApplicationContext();
xmlWebApplicationContext.setConfigLocations(new String[] {"applicationContext.xml"});
xmlWebApplicationContext.setServletContext(pageContext.getServletContext());
xmlWebApplicationContext.refresh();
// 获取bean
IUserService userService = (IUserService ) xmlWebApplicationContext.getBean("userService ");testAddUser(userService);
// 关闭上下文
xmlWebApplicationContext.close();
四、利用FileSystemResource读取
例5:
/* 加载应用上下文 */
Resource resource = new FileSystemResource("D:/tomcat/webapps/test/WEB-INF/classes/applicationContext.xml");
// 获取bean
BeanFactory factory = new XmlBeanFactory(resource);
IUserService userService = (IUserService) factory.getBean("userService");
testAddUser(userService);
注意:利用FileSystemResource读取,则配置文件必须放在project根目录下,或者写明绝对路径,否则就会抛出找不到文件的异常。
五、利用FileSystemXmlApplicationContext读取,可以指定XML定义文件的相对路径或者绝对路径来读取定义文件。
例6:
/* 1 */
String[] path={"WebContent/WEB-INF/applicationContext.xml","WebContent/WEB-INF/applicationContext_task.xml"};
ApplicationContext context = new FileSystemXmlApplicationContext(path);
/* 2
String path="WebContent/WEB-INF/applicationContext*.xml";
ApplicationContext context = new FileSystemXmlApplicationContext(path); */
/* 3
ApplicationContext ctx = new FileSystemXmlApplicationContext("classpath:地址"); */
版权声明:本文为chenlong220192原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。