【发布时间】:2016-11-14 18:31:52
【问题描述】:
我在属性文件中设置我的 oracle 环境变量属性如下:
oracle.home=XXX
file.path=C:\workspace
我使用的是spring factory bean注解,我在一个类中声明oracle Home如下:
@Value("${oracle.home}") private String oracleHome; //becomes YYY
我的所有其他属性都已正确读入,但oracleHome 被我在环境中设置的内容(例如 ORACLE_HOME)覆盖,而不是从属性文件中读入..
为什么会发生这种情况,我该如何解决?
【问题讨论】:
-
我不明白。您有一个使用
oracle.home加载的属性文件,并且您还有一个名为oracle.home的系统属性? -
应用程序读取 ORACLE_HOME 系统环境,而不是我在属性文件中设置的内容。我有两个版本的 oracle home。
-
我不知道
ORACLE_HOME如何转换为oracle.home。 Spring 可以有多个属性源。这些是有序的。我相信系统属性和环境属性是首先排序的。您的自定义.properties文件在此之后排序。应该有一种明确的顺序。 -
你的属性占位符是如何配置的?
标签: java spring spring-bean