簡體   English   中英

將配置數據傳遞給Java中DAO的具體實現

[英]Passing config data to concrete implementation of a DAO in Java

我正在嘗試使用Abstract Factory實現數據訪問對象模式,以從客戶端代碼中抽象出對多個數據源的訪問。 我引用了以下鏈接。

http://www.oracle.com/technetwork/java/dataaccessobject-138824.html

我的問題是:-如何將配置數據(例如數據文件的路徑)從客戶端代碼傳遞到DAO的具體實現中?

在上面粘貼的鏈接中,在示例9.2下,有一個具體實現的示例,其中,他們使用硬編碼的DBURL和DRIVER。 如果需要從例9.6所示的客戶端代碼中傳遞這兩個信息,該怎么辦?

將一個加參數添加到DAOFactory.getDAOFactory函數(例如,一個ConnectionParams對象,用於存儲連接URL,用戶等),然后將其傳遞給DAOFactory實現的構造函數。 之后,您的DAOFactory可以使用ConnectionParams創建連接。

在這種情況下,createConnection方法不能為靜態。

ConnectionParams對象可以像這樣:

public class ConnectionParams {

    private String url;
    private String pass;
    private String file;

  /* getters and setters */
}

`

如果您的DAOFactory實現需要一個file參數,則可以使用file字段。 其他人可以使用url和密碼。

另一種解決方案是從公用屬性文件或System.properties中獲取所需的參數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM