2 回答

TA貢獻1805條經(jīng)驗 獲得超10個贊
您可以通過調(diào)用該文件來做到這一點application.properties。
但請記住,屬性名稱應(yīng)類似于 yaml 結(jié)構(gòu):
spring.datasource.url="jdbc:xxxx"
spring.datasource.user="username"
spring.datasource.pwd="password"

TA貢獻1842條經(jīng)驗 獲得超22個贊
這是所有開發(fā)人員普遍關(guān)心的問題,即如何保護數(shù)據(jù)庫憑據(jù)以防止任何誤用,但相信我,將憑據(jù)保存在單獨的文件中不會給情況增加太多價值。
如果有人能夠訪問您的 application.yml,那么也可以訪問位于單獨文件夾中的屬性文件。
了解您的問題后,您需要將代碼推送到公共存儲庫中,您必須保護您的代碼。我的投入很少。
您不需要單獨的屬性文件和 application.yml 中的相應(yīng)變量,您可以提供您的值,并且在應(yīng)用程序啟動期間始終可以在應(yīng)用程序外部覆蓋它們。
例如
spring: ??datasource: ????jdbc-url:?myFakeURL ????username:?MyFakeUserName ????password:?myFakePAssword
一旦定義了它們,您就可以覆蓋它們,例如
java?-jar?-Dspring.datasource.jdbc-url=myRealURL??-Dspring.datasource.jdbc-username=myRealUserName??-Dspring.datasource.password=myRealpassword???myApplication.jar
請記?。哼@是一種方法,還有其他方法
您可以創(chuàng)建 shell 腳本/批處理文件(包含這些屬性)并在啟動應(yīng)用程序之前執(zhí)行
使用 Spring Boot,您必須考慮做幾件事,即加密您的屬性值。Spring 為Jasypt提供了對加密屬性的良好支持,相信我,您幾乎不需要付出任何努力
您還可以探索使用 Vault 管理機密
添加回答
舉報