大多数SA更愿意和更有信心处理
.properties文件而不是文件
.xml。
Spring提供了PropertyPlaceholderConfigurer,可让你将所有内容定义到一个或多个
.properties文件中,并用中的占位符代替
applicationContext.xml。
创建一个
app.properties下层
src/main/resources/文件夹:
... ...# Dadabase connection settings:jdbc.driverClassName=org.postgresql.Driverjdbc.url=jdbc:postgresql://localhost:5432/app_dbjdbc.username=app_adminjdbc.password=password... ...
applicationContext.xml像这样使用PropertyPlaceholderConfigurer :
... ...<bean > <property name="location"> <value>app.properties</value> </property></bean>... ...<bean id="dataSource" > <property name="driverClassName" value="${jdbc.driverClassName}" /> <property name="url" value="${jdbc.url}" /> <property name="username" value="${jdbc.username}" /> <property name="password" value="${jdbc.password}" /></bean>请查看Spring PropertyPlaceholderConfigurer示例以获取更多详细信息。
此外,从应用程序部署的角度来看,我们通常以某种可执行文件格式打包应用程序,而.properties文件通常打包在可执行文件war或ear文件中。一个简单的解决方案是将PropertyPlaceholderConfigurer bean配置为以预定义的顺序从多个位置解析属性,因此在部署环境中,可以使用固定位置或环境变量来指定属性文件,还请注意,为了简化在SA的部署/配置任务中,我们通常使用单个外部.properties文件来定义所有运行时配置,如下所示:
<bean > <property name="locations"> <list> <!-- Default location inside war file --> <value>classpath:app.properties</value> <!-- Environment specific location, a fixed path on server --> <value>file:///opt/my-app/conf/app.properties</value> </list> </property> <property name="ignoreResourceNotFound" value="true"/></bean>
希望这可以帮助。



