spring @PropertySource 搭配 @ConfigurationProperties從配置文件設置屬性
代碼示例以及說明
@Component
@PropertySource("classpath:ali.properties")
@ConfigurationProperties(prefix = "ali.pay")
@Data
public class AliPayConfig {
private String appId;
/**
* 生成公鑰時對應的私鑰(填自己的)
*/
private String privateKey;
/**
* 生成公鑰
*/
private String publicKey;
/**
* 簽名方式
*/
private String signtype;
/**
* 編碼
*/
private String charset;
/**
* 返回格式
*/
private String format;
/**
* 支付寶網關(注意沙箱alipaydev,正式則爲 alipay)不需要修改
*/
private String gatewayUrl;
/**
* 服務器地址前綴
*/
private String baseUrl;
/**
* 服務器異步通知頁面路徑 需http://或者https://格式的完整路徑,不能加?id=123這類自定義參數,必須外網可以正常訪問
*/
private String notifyUrl;
/**
* 頁面跳轉同步通知頁面路徑 需http://或者https://格式的完整路徑,不能加?id=123這類自定義參數,必須外網可以正常訪問 商戶可以自定義同步跳轉地址
*/
private String returnUrl;
}
以上是一個支付寶的配置類,@PropertySource
說明讀取的屬性文件源。@ConfigurationProperties(prefix = "ali.pay")
指定前綴爲ali.pay
。 @Data
是lombok
標籤,替代setter和getter方法。
配置文件ali.properties
示例:
ali.pay.appId=1
這樣你就可以在你的service類裏面依賴注入該配置類並使用了。 好處是這樣的配置單獨放在一個文件裏面,清晰易維護。