簡體   English   中英

如何在Spring中從本地屬性文件動態填充@Value屬性?

[英]How to dynamically populate @Value property from local property file in Spring?

我在設置需要在代碼中使用的屬性時遇到問題。 在我的課堂上,我已經聲明了如下屬性:

@Value("${foo.password}")
private String fooPassword;

通常,這會很好,但是在將我要從中提取的屬性文件存儲在其他環境中的方式時,會有一些折痕。 在我們所有的高級環境中,我們的價值都是加密存儲的。 但是,在開發環境中,我們無法解密該值,因此必須將其存儲為解密后的值。 加密值用一個密鑰存儲,而解密值用另一密鑰存儲。

為了提供通用解決方案,我希望能夠在@Value批注中指定一個備份值。 就像是...

@Value("${foo.passwordEncrypted ? foo.passwordDecrypted }")
private String fooPassword;

...因此,在開發環境中,它可以獲取解密的值,而在較高環境中,它可以獲取加密的值並執行所需的操作。

使用@Value可以實現嗎? 是否可以創建我們自己的自定義注解,以執行類似的操作?

我相信您正在尋找“默認”值? 在這種情況下,請以這種方式使用

@Value("${foo.passwordEncrypted:default_decrypted_value}")

暫無
暫無

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

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