簡體   English   中英

如何從另一個類的屬性文件中獲取對象?

[英]How can I get objects from property file in another classes?

所以,我有 Java + Spring 類

@Service
@ConfigurationProperties(prefix = "spring.phone")
@Data
public class PhoneProps {
   private List<String> testNumber = new ArrayList<>();

   @Bean
    public void display() {
        System.out.println(testNumber);
    }
}

我將在另一個類中使用“顯示”,但是當我調用它時,我得到一個空數組。 但是 Bean 方法在這個 ( PhoneProps ) 類中可以正常工作。

示例:當我在PhoneProps類中調用時(工作時@Bean ):

[998976460010, 998939378668]

當我在另一個班級中調用“顯示”時:

[]

如何在另一個文件中使用PhoneProps中的對象? 我使用 YAML 文件。

你有兩個階段。 第一階段,通過創建對象和第二階段,@Bean 加載數據。 如果創建@Bean,則所有階段都必須在其中。

請嘗試以下操作:

@Service
public class PhoneProps {

   @Value("${spring.phone}")
   private List<String> testNumber = new ArrayList<>();

   public void display() {
      System.out.println(testNumber);
   }
}

@Bean注釋從帶注釋的方法的返回對象創建一個 bean,所以我猜你不想要那個。 此外,使用@Value注入屬性。

現在你唯一需要做的就是在另一個 Spring 管理的 Bean 中注入PhoneProps並調用它的display()方法。

暫無
暫無

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

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