首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从外部分配一些弹簧属性值

如何从外部分配一些弹簧属性值
EN

Stack Overflow用户
提问于 2010-12-19 13:01:15
回答 1查看 579关注 0票数 2

我想在我的应用程序中外部化一些变量的值,该应用程序使用spring来实现类似于属性文件的东西。

我如何才能做到这一点?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-12-19 13:02:09

Spring为此提供了一个名为PropertyPlaceholderConfigurerBeanFactoryPostProcessor

下面是一个例子:

代码语言:javascript
复制
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
  <property name="locations" value="classpath:jdbc.properties"/>
</bean>

<bean id="dataSource" destroy-method="close"
    class="org.apache.commons.dbcp.BasicDataSource">
  <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>

在类路径中放置一个名为jdbc.properties的文件,如下所示

代码语言:javascript
复制
jdbc.driverClassName=org.postgresql.Driver
jdbc.url=jdbc:postgresql://localhost/default
jdbc.username=sa
jdbc.password=sa

在创建spring上下文时,传递给${..}的每个值都被视为一个键,并在PropertyPlaceholderConfigurer bean中查看这些值。如果密钥不存在,则会抛出异常。如果不希望抛出异常,请将属性ignoreUnresolvablePlaceholders设置为true,如果找不到键,则将值设置为键本身。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4481678

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档