Image

Spring Framework compile-time configuration check

Добрый день!




Есть абстрактный bean:


public abstract class AbstractBean {
  private Map<String, String> strings;
  public void setStrings(Map<String, String> strings) {
    this.strings = strings;
  }
  public String getString(String key) {
    return strings.get(key);
  }
}


Так же есть несколько его наследников. К примеру:


public class BeanImpl extends AbstractBean {
  public void foo() {
    System.out.println(getString("str"));
  }
}



Всё это приправлено applicationContext.xml:


...
  <bean id="abstractBean" abstract="true"/>

  <bean id="bean" class="BeanImpl" parent="abstractBean>
    <property name="strings"><map>
      <entry key="str" value="Hello, World!"/>
    </map></property>
  </bean>
...


Теперь вопрос: как можно проверить наличие всех values в конфигурации для всех keys, встречающихся в классах-наследниках AbstractBean (типа приведённого Bean) в качестве аргументов к getString() на этапе компиляции при условии, что в качестве аргументов всегда используется константные строки? Или хотя бы в какую сторону в такой ситуации стоит искать?