配置:
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/