如何在spring boot属性文件中实现多态?

时间:2017-07-06 08:00:40

标签: spring spring-boot

我想使用Spring启动提供初始化。 但是可以使用多态来初始化输入。如何在使用spring boot初始化时处理多态(在输入application.yml文件中)

我有课

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或spring boot会智能地识别C1或C2?

a:
 p:
   c1: 123

OR

a:
  p:
    c2: strvalue

1 个答案:

答案 0 :(得分:-1)

  1. 你为什么不尝试进行单元测试?你已经有了代码......
  2. 出于某种原因,我认为这不会起作用。但如果它神奇地做了(在Spring中经常出现这种情况),它仍然是不可读的并且容易出错。
  3. 我选择可读性而不是灵活性