java - 使用 Spring 配置文件设置系统属性

标签 java spring junit log4j

配置:
Spring 2.5、Junit 4、Log4j
log4j 文件位置是从系统属性中指定的

${log.location}

在运行时,使用 -D java 选项设置系统属性。一切都很好。

问题/我需要什么:
在单元测试时,系统属性未设置,文件位置未解析。
应用使用 Spring,想简单配置 Spring 来设置系统属性。

更多信息:
要求仅用于配置。无法将新的 Java 代码或条目引入 IDE。理想情况下,Spring 的属性配置实现之一可以处理这个问题——我只是找不到合适的组合。

这个思路很接近,但是需要添加Java代码:
Spring SystemPropertyInitializingBean

有什么帮助吗?任何想法都表示赞赏。

最佳答案

评论中有关于如何执行此操作的 Spring 3 示例的请求。

<bean id="systemPrereqs"
    class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
    <property name="targetObject" value="#{@systemProperties}" />
    <property name="targetMethod" value="putAll" />
    <property name="arguments">
        <!-- The new Properties -->
        <util:properties>
            <prop key="java.security.auth.login.config">/super/secret/jaas.conf</prop>
        </util:properties>
    </property>
</bean>

关于java - 使用 Spring 配置文件设置系统属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3339736/

相关文章:

java - React Native android 0.19.0 如何添加节点模块依赖项?

java - 内部/监视器锁和继承

java - 项目在 NetBeans 上运行良好,但 .jar 出现错误

java - @Before、@BeforeClass、@BeforeEach 和 @BeforeAll 之间的区别

java - 为什么 PDFBox PDFRenderer 很慢?

spring security 3 身份验证失败 url 更改

java - EntityManagerFactory 已关闭 - 仅在特定机器上

java - Spring覆盖另一个模块的bean

java - JPA 存储库 + JUnit 测试中的 @EntityListeners

python - 自定义 junitxml Pytest 报告以从自定义标记添加多个属性