在运行时使用另一个属性文件覆盖默认属性

时间:2015-08-05 03:36:06

标签: java spring properties

假设我有以下属性文件:

service.properties service1.properties service2.properties

我的应用程序将进行大量服务调用,并将使用默认属性文件(service.properties)。但是,当service1正在进行调用时,我想用service1.properties覆盖它。类似地,service2.properties应该覆盖service2调用。

对于其余的服务调用,我仍然希望使用service.properties。

关于如何做到这一点的任何指示。

1 个答案:

答案 0 :(得分:1)

lookUpPlaceID

您的场景仅对我有意义,您可以说使用方法 类的服务,其少数属性是常量的,很少需要动态注入 来自属性文件。由于所有服务调用的类都相同,因此您不希望这样 为service1和service2定义不同的属性和bean。

所以在这里你可以使用spring中的配置继承,可以像下面这样定义:

<bean id="service" class="com.concept.testing.Service">
<property name="url" value="${url.property}" />
<property name="user" value="${user.property}" />
<property name="password" value="password" />
<property name="app" value="Application" />
</bean>

现在,您可以为service1调用和service2 bean注入service1 bean 用于service2调用。他们的父母班级是相同的,但唯一的区别在于他们的 配置(即网址和名称)。

相关问题