org.springframework.core.env.Environment.getProperty(String)返回null

时间:2012-01-06 09:00:24

标签: spring configuration properties

我试图在spring mvc应用程序的控制器中以编程方式访问某些属性。我用xml配置它。我尝试了PropertyPlaceholderConfigurer<context:property-placeholder />

我尝试在控制器类中使用(在一个工作示例中看到它但是它配置了@Configuration):

@Inject  
private Environment environment;

然后我使用:

environment.getProperty("upload.location")   

但我得到一个空值。该条目存在于属性文件中(我只有一个),并且在xml作品中也使用${...}

1 个答案:

答案 0 :(得分:3)

一种更简单的方法 - 使用@Value注入系统属性,如下所示:

private @Value("${systemPropertyFoo}") String systemPropertyFoo;

在你的情况下(我假设变量是系统属性):

private @Value("${upload.location}") String uploadLocation;

此注释取决于PropertyPlaceholderConfigurer,因此请将其保留在配置中。