java - 在 Spring 中读取 jar 中存在的配置文件

标签 java spring

您好!

我有一个 spring 应用程序,它依赖于作为 jar 提供的遗留 spring 应用程序。请注意,遗留 jar 本身在 jar 中有其 spring 配置文件。那么有两个属性文件:app.properties 和 override.properties。

现在,我可以从外部项目读取一个配置属性,方法如下:

<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
  <property name="location" ref="propertyResource"></property>
 </bean>

<bean name="propertyResource" class="org.springframework.core.io.ClassPathResource">
  <constructor-arg><value>spring-config.properties</value></constructor-arg>
 </bean> 

但我无法让它适用于 2 个属性文件。有人遇到过类似的问题并找到了出路吗?请建议。我尝试将列表用于 propertyResource bean,有两个 PropertyPlaceholderConfigurer bean,但没有用。

顺便说一句,为了记录,我搜索了(但不彻底)spring 文档,所以这将是我接下来要做的事情,但如果有人已经知道解决方案,为什么要重新发明轮子。

最佳答案

如果我没理解错的话,您正试图将多个属性文件加载到您的 PropertyPlaceholderConfigurer 中。您可以通过设置“位置”属性而不是“位置”属性来实现。

<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
    <property name="locations">
        <list>
            <value>classpath:app.properties</value>
            <value>classpath:override.properties</value>
        </list>
    </property>
</bean>

关于java - 在 Spring 中读取 jar 中存在的配置文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4853056/

相关文章:

java - 如何将一个简单的 Spring Boot(带有 Gradle 构建系统)部署到 Apache Tomcat(真实服务器,而非嵌入服务器)?

java - 如何创建内部类的 Spring Bean?

java - java中可以使用数组作为map键吗?

java - 请求作用域的 bean 和数据模型初始化?

Autowiring 的 HTTPServletRequest bean 的 Spring AOP 和方面线程安全

java - Spring Integration Java DSL 如何使用 Spel 进行服务激活器

java - spring-boot2 上的 Resilience4j - 断路器未打开

java - 布局 Inflate 中的alignParentBottom

Java正则表达式分组和+运算符(获取一组的多个值)

java - 为 Java 公开 MYSQL (android)