博客
关于我
spring application.xml在项目中的几种解析方式
阅读量:709 次
发布时间:2019-03-17

本文共 1629 字,大约阅读时间需要 5 分钟。

在Java项目中,Spring的applicationContext.xml文件有多种解析方式。下面从不同角度解析这些方法,并结合常见场景提供实用技巧。

一、基于类路径的applicationContext.xml解析

最常见的方式是通过ClassPathXmlApplicationContext来加载applicationContext.xml。

ApplicationContext cxt = new ClassPathXmlApplicationContext("applicationContext.xml");Object bean = cxt.getBean("beanId");

这种方法适用于标准开发环境中的普通应用。

二、基于文件系统的applicationContext.xml解析

当项目部署路径明确时,可以使用FileSystemXmlApplicationContext。

ApplicationContext cxt = new FileSystemXmlApplicationContext("C:/path/to/applicationContext.xml");Object bean = cxt.getBean("beanId");

这种方式适合需要严格控制配置文件路径的情况。

三、基于资源的低级解析方式

通过Resource和XmlBeanFactory来实现基本的xml解析。

Resource res = new ClasspathResource("applicationContext.xml");XmlBeanFactory factory = new XmlBeanFactory(res);Object bean = factory.getBean("beanId");

这种方式适合对Spring容器进行操作时的底层实现。

四、jsp 页面中的applicationContext.xml解析

在Struts等框架中,通过自定义Bean类来灵活调用Spring-managed bean。

public class GetBean {    private XmlBeanFactory factory;    public GetBean() {        Resource res = new ServletContextResource(            ServletActionContext.getServletContext(), "/WEB-INF/transaction.xml");        factory = new XmlBeanFactory(res);    }    public Object getBean(String beanName) {        XmlWebApplicationContext ctx = new XmlWebApplicationContext();        ServletContext servletContext = ServletActionContext.getServletContext();        ctx.setServletContext(servletContext);        ctx.setConfigLocations(new String[] { "/WEB-INF/transaction.xml" });        ctx.refresh();        return ctx.getBean(beanName);    }}

这种方式适合前端直接调用后台Spring bean的场景。

在实际开发中,可以根据项目需求灵活选择适合的方式。例如,在本地开发环境中使用第一种方法,在特定部署环境中使用第二种方法,或者在web应用中结合第四种方法实现特定功能。

转载地址:http://wjcez.baihongyu.com/

你可能感兴趣的文章
Python和RF编写web自动化
查看>>
python和js哪个难_【Python】记一次学习,Python 与 js 在实现闭包时的差异
查看>>
python和java哪个更值得学——来自知乎高赞回答
查看>>
python和c混合编程 github_在pycharm中使用git版本管理以及同步github的方法
查看>>
python命名空间更改_Python模块xml.etree.ElementTree自动修改xml命名空间键
查看>>
Python命名中尾随下划线有什么好处?
查看>>
Python启动脚本
查看>>
Python听写汇总结果
查看>>
python吊打Excel?屁!那是你不会用!
查看>>
Python合并两张图片 | 先叠透明度再合并 (附Demo)
查看>>
python各进制的表述与转换
查看>>
python各种库安装
查看>>
python可视化matplotlib_如何使用Python中最强大的可视化工具Matplotlib?
查看>>
python可维护性_使用这7大神器,让你的Python 代码更容易于维护
查看>>
Python只运行一次while循环
查看>>
python变量的详细教程_Python零基础入门教程之语法入门[变量](第二期)
查看>>
Python变量命名方法-ChatGPT4o作答
查看>>
Python变量与运算符
查看>>
Python变量/运算符/函数/模块/string
查看>>
python发送邮件的时候出现 error (535, b‘5.7.3 Authentication unsuccessful‘) 解决方法
查看>>