因爲我已經有了application.properties
,其中定義了數據庫連接設置,所以我決定在該文件中放置特定於應用程序的設置也是很好的選擇。一步 - 如春讀取這些屬性,我宣佈我的Settings
豆如下使用spring配置應用程序屬性
<bean name="settingsBean" class="com.tickets.constants.Settings">
<property name="settings">
<props>
<prop key="backup.dir">${backup.dir}</prop>
<prop key="smtp.host">${smtp.host}</prop>
</props>
<property>
</bean>
現在,有時會發生,我需要一些這些屬性的直接是不是在Spring上下文類。是的 - 我可以從我的Web應用程序上下文獲得Spring上下文,或者作爲一個方法參數傳遞的設置實用程序類,但這裏是我的另一種方法(這是Settings
類):
private static Properties staticSettings;
@PostConstruct
public void init() {
// making the settings available for static access
staticSettings = settings;
}
現在,這看起來有點不對。但我想不出使用它的一個強有力的理由。 因此,要制定這個問題 - 是否有任何理由不使用我的方法,是否有更好的方法。
還有下雪的呢? ;) 我做了類似於你的建議。但是我沒有使用工廠方法,而是使用了@PostConstruct方法,並說instance = this。 – Bozho 2009-12-19 12:59:06