2017-07-06 33 views
0

我想使用Spring啓動提供初始化。 但是可以使用多態性來初始化輸入。我怎麼能照顧多態性(輸入application.yml文件),而使用彈簧啓動初始化如何在spring啓動屬性文件中實現多態?

我有類

interface Parent { 
} 

class C1 implements Parent { 
    int c1; 
} 

class C2 implements Parent { 
    String c2; 
} 

class A { 
    Parent p; 
    public void setP(Parent p) { 
     this.p = p; 
    } 
} 

class SpringBootExamples { 
    @Autowired 
    public A a; 
} 

在這裏,我們應該如何定義application.yml或彈簧開機時會智能地識別C1或C2?

a: 
p: 
    c1: 123 

OR

a: 
    p: 
    c2: strvalue 

回答

0
  1. 你爲什麼不一個單元測試試試?你已經有代碼...
  2. 出於某種原因,我不認爲這會奏效。但如果它奇蹟般地出現(在Spring中經常出現這種情況),它仍然是不可讀的,並且容易出錯。

我會選擇靈活性的可讀性

相關問題