我有一個 Spring-boot 項目,由于配置文件,我需要從 application.properties 文件中獲取值。但是當在類中注入配置文件時,對象返回 null。應(yīng)用程序?qū)傩裕簊erver.ip=000.000.000.000server.port=0000配置類:@Component@ConfigurationProperties(prefix = "server")public class AppProperties { private String ip; private Integer port;... getters and setters我需要值的類:@Componentpublic class Teste { @Autowired private AppProperties properties;...socket = new Socket(properties.getIp(), properties.getPort());在調(diào)試時,在應(yīng)用程序啟動時,AppProperties 中的值會獲得正確的值。
3 回答

嚕嚕噠
TA貢獻1784條經(jīng)驗 獲得超7個贊
您可以使用 @Value 注釋從 application.properties 文件中訪問屬性值,如下所示
@Value("${<propertname>}") private String userBucketPath;

炎炎設(shè)計
TA貢獻1808條經(jīng)驗 獲得超4個贊
您的代碼看起來是正確的,但我建議您也嘗試以下步驟:
使用 @PropertySource 注釋來定義屬性位置。(我知道默認位置是類路徑)。
如果您確實需要為您的項目添加配置文件。創(chuàng)建一個新的應(yīng)用程序?qū)傩晕募?,?application-{profile-name}.properties 并在啟動應(yīng)用程序時傳遞 JVM 參數(shù)-Dspring.profiles.active={profile-name}。
我不知道您的確切需求或答案。我只是想分享一個額外的步驟。

有只小跳蛙
TA貢獻1824條經(jīng)驗 獲得超8個贊
我得到屬性的空值,因為我實例化了一個 Teste 類new Teste().
解決方案是使用帶有 Intection 的 Teste 類。
@Autowired private Teste teste;
添加回答
舉報
0/150
提交
取消