2013-01-23 31 views
1

我不控制器類將是,如何訪問屬性格式文件在Java中春非控制器類

public class Authorization { 
String licensePath ; 

@Value("${licenseKeyNotFound}") 
String licenseKeyNotFound; 

    public boolean checkIn(String licensepath) { 
    System.out.println("hello "+licenseKeyNotFound); 
    licensePath = licensepath; 
    return checkIn(); 
    } 

} 

這裏是我的屬性文件。

licenseKeyNotFound = License File Corrupted 

login-servlet.xml會,

<context:property-placeholder location="conf/LicenseSettings.properties" 
    order="2" ignore-unresolvable="true" /> 

我沒有,叔把它放在applicationcontext.xml.Is,對嗎?

+0

是'Authorization'一個Spring bean?它應該被註釋('@ Component','@ Service'等),並通過xml或'@ Configuration'進行掃描或配置。由於您使用'@ Value',您可能需要註釋選項。 –

+0

謝謝您reply..Authorization不是春Bean.I不知道如何讀的屬性在授權class.Please文件指導我解決這個... –

+0

這裏的快速掃描註釋路線:註釋授權類'@ Component'或'@ Service',這取決於你的應用程序更有意義(它們將以同樣的方式工作)。使用適當的'base-package'屬性將'添加到你的配置文件中,以獲得'Authorization'所在的包。如果Spring正在管理bean,它只會注入。 –

回答

1

我覺得春天已經找不到位置location="conf/LicenseSettings.properties"因爲你已經設置ignore-unresolvable="true"它不是抱怨它。

嘗試把文件中的類路徑和使用classpath:LicenseSettings.properties或使用絕對路徑。

+0

感謝您的回覆......但沒有幫助......還有更多的提示。 –

+0

@Anand在這種情況下,您應該刪除「ignore-unresolvable」。你有一個文字的文件名,你希望在那裏,如果它不在那裏,它是一個應該被識別的錯誤。如果你有多個文件(可能使用動態環境驅動的名字),但有些是可選的(因此他們的缺席並不是錯誤),'ignore-unresolvable'非常有用。 –

0

我認爲你的問題,你把這個在servlet.xml,但應在Spring配置一個applicationContext.xml

<context:property-placeholder location="conf/LicenseSettings.properties" 
    order="2" ignore-unresolvable="true" /> 
+0

我不明白它的重要性,尤其是當可以將'applicationContext.xml'重命名爲任何他們喜歡的東西時。 – adarshr

+0

感謝您的回覆。我把它放在了login-servlet.xml中。我需要把這個放在哪裏? login-servlet.xml或applicationContext.xml? –

+0

@adarshr我不知道真正的OP沒有說 –

相關問題