gpt4 book ai didi

spring - 如何从外部分配一些 Spring 属性值

转载 作者:行者123 更新时间:2023-12-04 06:39:10 28 4
gpt4 key购买 nike

我想在我的应用程序中将一些 valraibles 的值外部化,它使用 spring 到类似属性文件的东西。

我怎样才能做到这一点?

最佳答案

Spring 提供了一个 BeanFactoryPostProcessorPropertyPlaceholderConfigurer以此目的。

下面是一个例子:

<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 的文件,如图所示
jdbc.driverClassName=org.postgresql.Driver
jdbc.url=jdbc:postgresql://localhost/default
jdbc.username=sa
jdbc.password=sa

当创建 spring 上下文时, ${..} 中传递的每个值都被视为一个键,值被查看 PropertyPlaceholderConfigurer bean。如果 key 不存在,则它会引发异常。如果您不想抛出异常,请设置属性 ignoreUnresolvablePlaceholderstrue ,则如果未找到键,则该值作为键本身。

关于spring - 如何从外部分配一些 Spring 属性值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4481678/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com