当前位置: 首页 > 面试题库 >

Spring属性占位符配置器中具有多个位置的属性解析顺序是什么?

慕意致
2023-03-14
问题内容

可以说我有一个配置:

    <bean id="batchJobProperties" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
    <property name="locations">
        <list>
            <value>first.properties</value>
            <value>second.properties</value>
        </list>
    </property>
</bean>

first.properties具有属性“ my.url = first.url” second.properties具有属性“ my.url =
second.url”

那么哪个值将被注入“ myUrl” bean?是否有定义的属性解析顺序?


问题答案:

PropertiesLoaderSupport.setLocation状态的Javadoc

设置要加载的属性文件的位置。

可以指向经典属性文件或遵循JDK 1.5的属性XML格式的XML文件。

注意:如果键重叠,则以后文件中定义的属性将覆盖以前文件中定义的属性。因此,请确保最具体的文件是给定位置列表中的最后一个文件。

因此,second.properties中的my.url值将覆盖first.properties中的my.url值。



 类似资料:
  • first.properties具有属性“my.url=first.url”second.properties具有属性“my.url=second.url” 那么哪个值将被注入“myURL”bean?是否有任何定义的属性解析顺序?

  • 问题内容: 我有我的配置: 我得到错误 我知道这可能缺少属性文件,但是我在类路径中恰好有它。有什么不见了? 我的web.xml: 问题答案: 你的应用程序中可能有多个。尝试在超类的方法上设置一个断点,看看在应用程序启动时是否多次调用了该断点。如果不止一个,则可能需要查看配置属性,以便你的应用程序可以正常启动。

  • 我不明白为什么不能在Spring-Boot中向application.properties文件中注入值。外部属性添加到logging.file变量中。我有一个application.properties文件,看起来如下所示 具有相应的Spring-boot应用程序类 请注意,如果我自己注入服务器端口号,那么在注入和启动应用程序时没有任何问题。 我在这个问题上兜圈子,弄不清自己做错了什么。

  • 我的数据库配置类: 和AppConfig: } 嗨,我上面有个错误,我不知道怎么修复,你能帮我吗?在添加这个bean之前,我的项目运行良好: }

  • 问题内容: 有谁知道我是否应该可以在预选赛中使用属性占位符作为表达式?我似乎无法正常工作。 我正在使用Spring 3.0.4。 XML: config.properties: 问题答案: 这可行。如果仅使用默认的spring bean名称,则可以省略服务名称。serviceA与ServiceA等 XML: Props:

  • 问题内容: 我有一个属性设置器,它通过获取两个字符串并对其进行哈希处理来生成唯一的ID: 我有两个问题: 是否允许(考虑良好的python编码实践)以这种方式编码 如何将两个值传递给设置器? 问题答案: 如何将两个值传递给设置器? 您可以将iterable(元组,列表)传递给setter,例如: 演示: