博客
关于我
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/

你可能感兴趣的文章
NAT模式/路由模式/全路由模式 (转)
查看>>
NAT模式下虚拟机centOs和主机ping不通解决方法
查看>>
NAT的两种模式SNAT和DNAT,到底有啥区别?
查看>>
NAT的全然分析及其UDP穿透的全然解决方式
查看>>
NAT类型与NAT模型详解
查看>>
NAT网络地址转换配置实战
查看>>
NAT网络地址转换配置详解
查看>>
navbar navbar-inverse 导航条设置颜色
查看>>
Navicat for MySQL 命令列 执行SQL语句 历史日志
查看>>
Navicat for MySQL 查看BLOB字段内容
查看>>
Navicat for MySQL笔记1
查看>>
Navicat for MySQL(Ubuntu)过期解决方法
查看>>
Navicat Premium 12 卸载和注册表的删除
查看>>
Navicat 导入sql文件
查看>>
navicat 添加外键1215错误
查看>>
navicat 系列软件一点击菜单栏就闪退
查看>>
navicat 自动关闭_干掉Navicat!MySQL官方客户端到底行不行?
查看>>
Navicat 设置时间默认值(当前最新时间)
查看>>
navicat 连接远程mysql
查看>>
navicat:2013-Lost connection to MySQL server at ‘reading initial communication packet解决方法
查看>>