spring读取war包外的properties文件

本文介绍如何使用Spring的PropertyPlaceholderConfigurer实现配置文件的外部化管理,以便于在不同环境中灵活修改配置。通过设置properties文件的位置,可以实现在开发、测试及生产环境间的平滑切换。
[b]因为生产和开发测试的环境不同,所以有时候需要把properties文件放在包外方便修改配置。

这里用的是spring的PropertyPlaceholderConfigurer来读取properties属性。[/b]


<!-- Load ProperyFile -->
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>file:${user.dir}/config/application.properties</value>
<value>file:${user.dir}/config/mailMsg.properties</value>
</list>
</property>
<property name="fileEncoding" value="utf-8"/>
</bean>


[b]因为我是用的是eclipse,所以 file:${user.dir} 在windows环境下会取到eclipse路径下,而在linxu服务器上则会取到你当前放置war包的weblogic的domain下,之后拼接你的路径即可。
当然如果权限足够的话,也可以用file:${user.home}来获取properties的值,windows的话是document/../..的路径,如果是linxu则是根目录下home的路径。
当然如果你要取包内的properties,用classpath:就可以解决了,是取classes下的路径。
这样修改之后就能完成war包和配置文件的分离。[/b]
以下是在TongWeb中部署war读取配置文件启动的一般方法: ### 部署warSpringMVC的war放置到TongWeb的指定部署目录,通常该目录为TongWeb安装目录下的`webapps`文件夹。当TongWeb启动时,会自动检测该目录下的war并进行解压和部署。 ### 配置文件读取 #### 1. 部配置文件路径指定 为了方便运维,通常将配置文件放置在TongWeb部。可以通过在TongWeb的配置文件或者启动脚本中设置系统属性来指定部配置文件的路径。例如,在TongWeb的启动脚本(如`startup.sh` 或 `startup.bat`)中添加如下配置: ```bash # 在Linux系统的startup.sh中添加 JAVA_OPTS="$JAVA_OPTS -Dconfig.path=/path/to/your/config/folder" ``` ```batch :: 在Windows系统的startup.bat中添加 set JAVA_OPTS=%JAVA_OPTS% -Dconfig.path=C:\path\to\your\config\folder ``` #### 2. SpringMVC中读取配置文件SpringMVC项目中,使用Spring的`PropertySourcesPlaceholderConfigurer`或`@PropertySource`注解来读取部配置文件。 **使用`PropertySourcesPlaceholderConfigurer`** ```java import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.support.PropertySourcesPlaceholderConfigurer; @Configuration public class AppConfig { @Bean public static PropertySourcesPlaceholderConfigurer propertySourcesPlaceholderConfigurer() { PropertySourcesPlaceholderConfigurer configurer = new PropertySourcesPlaceholderConfigurer(); configurer.setLocations(new org.springframework.core.io.FileSystemResource(System.getProperty("config.path") + "/your-config.properties")); return configurer; } } ``` **使用`@PropertySource`注解** ```java import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.PropertySource; @Configuration @PropertySource(value = "file:${config.path}/your-config.properties") public class AppConfig { // 配置类内容 } ``` ### 启动TongWeb 完成上述配置后,启动TongWeb。可以通过执行TongWeb安装目录下的启动脚本(`startup.sh` 或 `startup.bat`)来启动。启动后,TongWeb会自动部署war,并使SpringMVC应用程序能够读取指定的部配置文件
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值