2015-12-08 134 views
1

例如我有財產:project.password.time=123456如何使用屬性作爲變量?

然後,我想在某些類中使用它作爲變量。

例如,Long time = {my property}

這不起作用:(java.lang.NumberFormatException:空)

Long time = Long.valueOf(System.getProperty("project.password.time")) 

我該怎麼辦呢?

+1

請澄清 「我有財產......」 – jhamon

+1

你嘗試類似_System.out.println(System.getProperty( 「java.runtime.version」)) ; _來測試你的屬性是否實際加載? –

+0

另外請注意,不應該有'「單曲的屬性定義,即正確的形式在屬性文件屬性'project.password.time = 123456' –

回答

0

如果你有一個文件可以說config.properties那麼你可以

final Properties props = new Properties(); 
    final String propertyFileName = "config.properties"; 
    final InputStream inputStream = getClass().getClassLoader().getResourceAsStream(propertyFileName); 

    if (inputStream != null) { 
     props.load(inputStream); 
    } else { 
     throw new FileNotFoundException("Property file not found " + propertyFileName); 
    } 
    System.out.println(props.getProperty("project.password.time")); 

系統的println將打印值123456

,因爲我不知道什麼是您的需求,這似乎是最簡單的答案。 正如Jiri注意到的那樣,您希望將屬性propertyName = value作爲屬性文件充當地圖。

0

我只是需要加入

@Autowired 
private Environment env; 

    Long time = Long.valueOf(env.getProperty("project.password.time"));