Comments 8
Есть такая вещь как annotation processor, которая существует уже давно и сделана специально для кодогенерации.
Спасибо! Не был с ним знаком.
Только как то не понятно какую часть проекта он тут сэкономит?
Не большую часть работы код генератора?
Только как то не понятно какую часть проекта он тут сэкономит?
Не большую часть работы код генератора?
Очень сильно экономит время разработки. Он вызывается прямо во время компиляции, когда классы уже распарсены, но реально еще не сгенерированы. Решает проблемы:
- не нужен вызов сторонней тулзы после каждого изменения класса
- решена проблема с поиском аннотированных классов — компилятор уже знает их все
- нет необходимости грузить классы из classpath, чтобы интроспектировать их с помощью reflection
- скорость работы на порядки выше
Недостатки:
- вместо reflection используется компиляторный mirror api
Есть куча примеров как написать простой annotation processor.
Sign up to leave a comment.
Генерация кода для бекенда. Что генерировать, как и зачем?