您的位置:首页 > 编程语言 > Java开发

在使用spring构建项目中,将db配置与程序jar包分离的一种方式

2013-02-16 00:00 781 查看
为了在项目打包的时候将数据库配置,log配置与jar包分离, 将db.properties,log4j.properties配置文件放在应用的配置目录,例如: /app/config目录下。

在spring的applicationContext.xml中,部分代码如下,让spring到classpath中找db.properties.

<beans>
<bean id="test.propertyConfigurer"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="order" value="1" />
<property name="locations">
<list>
<value>classpath:db.properties</value>
<value>classpath:log4j.properties</value>
</list>
</property>
<property name="placeholderPrefix" value="$[" />
<property name="placeholderSuffix" value="]" />
<property name="ignoreUnresolvablePlaceholders" value="true" />
<property name="ignoreResourceNotFound" value="true" />
</bean>
<bean id="datasource"
class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<property name="driverClassName" value="$[db.test.driver]" />
<property name="url" value="$[db.test.url]" />
<property name="username" value="$[db.test.username]" />
<property name="password" value="$[db.test.password]" />
</bean>
</beans>

最关键的一步是将配置所在目录告诉java命令,通过-classpath的方式。

在运行这个jar包的linux环境中,脚本部分代码如下:

db_config=/app/config
app_lib_path=/app/app.jar
CLASSPATH=$CLASSPATH:$db_config:$app_lib_path
echo "classpath is ---"$CLASSPATH;
JAVA_CMD=/usr/bin/java
main_class=a.b.c.AppMain
$JAVA_CMD -Xms2G -Xmx4G  -classpath $CLASSPATH ${main_class}


边开发边总结,记录记录再记录是好习惯。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  spring
相关文章推荐