Tomcat中用环境变量灵活定义spring数据库文件路径

相信很多公司都是基于window做JAVA开发,然后生产环境却是在Linux下,这样导致的一个问题就是JDBC配置文件路径不一致.
Spring项目中一般用PropertyPlaceholderConfigurer类在ApplicatonContex.xml中进行配置文件定义,如下:

<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
    <property name="ignoreUnresolvablePlaceholders" value="true" />
    <property name="locations">
        <list>
                <!--<value>classpath*:application.properties</value>-->
                <value>file:/c:/jdbc.properties</value>
        </list>
    </property>
</bean> 

如果ApplicatinContext放到linux下怎么办?又得改成linux路径,这样实在太麻烦了.

这个时候就可以通过在tomcat中start文件中添加变量解决,编辑startup.sh(window下是startup.bat),在文件开始处添加变量如下:

export config_path='file:/data/tomcat/apache-vito/conf/mapmgr.properties'

ApplicatonContex.xml配置文件中PropertyPlaceholderConfigurer声明改为:

<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
    <property name="ignoreUnresolvablePlaceholders" value="true" />
    <property name="locations">
        <list>
            <!--<value>classpath*:application.properties</value>-->
            <value>${config_path}</value>
        </list>
    </property>
</bean>

这样,每次启动tomcat,实例化spring容器时,PropertyPlaceholderConfigurer都会去读环境变量中的config_path,即tomcat的startup.sh中定义的路径值,屏蔽因系统路径不一致导致的繁琐操作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值