Итерация определенных классов во время выполнения через глобальную переменную - PullRequest
1 голос
/ 04 марта 2012

Я создаю инфраструктуру внедрения зависимостей, и часть этого процесса включает в себя циклический просмотр всех файлов классов в пути к классам и сохранение классов, аннотированных определенной аннотацией, в объекте перечисления. С точки зрения внедрения зависимостей, когда класс загружается, он находит все нотации @inject и затем просматривает все классы, которые содержат нотацию @injectResource, а затем возвращает значения метода, которые мне нужны для выполнения части DI.

Мой вопрос заключается в том, что кажется более разумным создавать список классов перечисления во время компиляции, так что, когда мои поля ввода нуждаются в поиске этих классов, мне не нужно искать каждый класс в проекте каждый раз.

Полагаю, я создам список классов во время компиляции через конфигурацию сервлета, но где я могу сохранить этот "глобальный" список, чтобы я мог обращаться к нему несколько раз по всему проекту?

Вдобавок ко всему, я думаю, что во время компиляции я создам статический класс, который содержит список перечисления, но я не предпочитаю использовать статические классы, и я не уверен, что это наиболее оптимальный подход.

1 Ответ

0 голосов
/ 04 марта 2012

Кстати, вы можете использовать контекст сервлета, зачем вам каждый раз заново сканировать все классы? Почему бы вам не сохранить ссылки на классы один раз и использовать их (вместо жесткого кодирования списка классов)?

...