WAR包与配置文件分离

如需转载请标明出处:http://blog.csdn.net/itas109 

QQ技术交流群:129518033

 

Java开发中经常打WAR的人会遇到一个问题,每次都得根据部署电脑的IP、路径等信息修改工程中的配置文件。

但是每次都这样还是非常烦人的。

下面介绍一下如何将配置文件分离出来,这样每次打WAR包的时候就可以直接将WAR部署就好了,一般不需要关心配置文件的问题。

 

 

1.数据库配置文件的分离

jdbc.properties是数据库的配置文件,其目录为config下。

 

1.1 设置配置文件目录

找到WebRoot下WEB-INF下的web.xml文件,加入如下内容

 

<!-- 用于配置文件分离 -->
  <context-param>    
  <param-name>customConfigDir</param-name>  
  <param-value>c:\webConfig</param-value>  
  </context-param>

 

 

     这样就可以设置配置文件的主目录

 

 

1.2 spring-beans.xml中配置jdbc.properties路径

找到propertyConfigurer标签下,修改value

<beans:bean id="propertyConfigurer"
		class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
		<beans:property name="locations">
			<beans:list>
				<!-- <beans:value>classpath:jdbc.properties</beans:value> -->
				<beans:value>file:/${customConfigDir}/${projectName}/jdbc.properties</beans:value>
			</beans:list>
		</beans:property>
	</beans:bean>

 

其中${projectName}为工程名称的配置,位于web.xml。

该参数主要用于区分不同工程的配置文件。

前面加的file:/,不然路径不正确。

 

2.其他配置文件的分离

我们这里还用到一个其他的配置文件config.xml。

<?xml version="1.0" encoding="UTF-8"?>
	<!-- 图片地址 -->
	<image-copy-path>D:\ftp\suppliesTypePic</image-copy-path>
</config>

例如,我们这里配置了一个图片的地址。

config.xml在java代码中需要调用。

String configPath = event.getServletContext().getInitParameter("customConfigDir")
        		+"\\"
        		+event.getServletContext().getInitParameter("projectName")
                + "\\config.xml";
        XMLUtil.parserXml(configPath);


主要是通过getServletContext来调用xml中的参数

 

至此,我们就可以将配置文件与WAR分离出来,极大的方便了部署工作。

 

觉得文章对你有帮助,可以扫描二维码捐赠给博主,谢谢!


 如需转载请标明出处:http://blog.csdn.net/itas109 

 

 

QQ技术交流群:12951803

 

 

 

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

itas109

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值