Используйте ByteBuddy, чтобы изменить пакет аннотированного класса в приложении Spring - PullRequest
0 голосов
/ 02 марта 2019

Я хочу изменить пакет классов, помеченных конкретной аннотацией.Я хочу сделать это, чтобы Джерси их не подобрал.Мне интересно, достижимо ли это в приложении Spring (Boot).Если да, то где лучше всего добавить это?Первоначально я хотел сделать это в ImportBeanDefinitionRegistrar, чтобы добавить аннотацию EnableXXX в класс конфигурации, но я думаю, что в жизненном цикле Spring может быть слишком поздно для переопределения классов.

1 Ответ

0 голосов
/ 05 марта 2019

Да, Byte Buddy позволяет вам менять имя любого инструментального типа.Вы можете создать AgentBuilder, чтобы соответствовать всем типам, которые содержат вашу аннотацию, и изменить их имя пакета, используя DSL.

Однако обратите внимание, что любые ссылки на этот класс не будут обновляться автоматически, а также другие последствия пакетаизменение было бы довольно непредсказуемым.Как правило, я бы не советовал вам идти по этому маршруту.

...