Leave a comment

Comments 5

kosiakk April 29 2009, 21:56:22 UTC
constructor injection может помочь с гарантией заполнения всех атрибутов.
но там грабли с именами параметров - picocontainer и новый Seam решает; не знаю про спринг

Reply

dair_targ_one April 30 2009, 16:08:25 UTC
Spring решает проблемы constructor injection. Но тут просто нет аттрибутов бина, есть набор ключей к мапе.

Reply


lexicore April 30 2009, 07:14:45 UTC
Если я правильно понял, то в коде вызывается AbstractBean.getString(name) с различными ключами. Есть также некий applicationContext.xml где объявлены несколько бинов классов-наследников AbstractBean.
Надо:
* Вычислить множество ключей, с которыми вызывается getString(...), причем достаточно брать случае, когда метод вызывается со строкой-константой.
* Проанализировать applicationContext.xml и убедиться, что для каждого конкретного бина-наследника AbstractBean присутствуют конфигурации для каждого ключа из множества, вычисленного на предыдущем этапе.
* Всю эту красоту реализовать на этапе построения проекта.

Короткий ответ: заколебетесь. Сделать, в принципе, можно - проанализировать исходный код или (что проще) компилированый байт-код, найти, с какими аргументами вызывается искомый getString(...), пропарсить applicationContext.xml, проанализировать bean definitions. Но сожрет кучу ресурсов и все равно не даст 100% гарантии.

Цель-то какая?

Reply

dair_targ_one April 30 2009, 16:16:56 UTC
Цель следующая: хочется иметь в классе доступ ко множеству строковых констант, наличие значений которых проверяются при компиляции проекта, сами значения описаны в конфигурационном файле.

Reply


vkorehov May 6 2009, 22:56:35 UTC
@Required

Reply


Leave a comment

Up