Spring加载applicationContext.xml应用上下文的方式

一、利用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:地址"); */

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值