Скажем, у меня есть класс с несколькими полями, помеченными пользовательской аннотацией. В моем случае это @inject, потому что он используется для внедрения зависимости. Как я могу запустить метод в отдельном классе каждый раз, когда аннотация используется в моем классе? Другими словами, каждый раз, когда класс загружается, аннотация запускает метод, который будет собирать данные поля и, в свою очередь, устанавливать поле.
У меня уже есть вся система, настроенная для сбора ресурсов, но мне нужно некоторое руководство о том, как на самом деле запустить этот код, когда загружен класс с аннотацией @inject. Это можно сделать, определив какой-то метод в интерфейсе аннотации, который выполняет сбор данных?
Моя первоначальная мысль - использовать пользовательский загрузчик классов, но я не хочу устанавливать загрузчик классов, когда использую этот jar-файл в других проектах. Есть ли способ установить пользовательский загрузчик классов программно для определенных классов во время выполнения? Я уже делаю много предварительных отражений и уже знаю, какие классы нужно загружать с помощью специального загрузчика. Это просто вопрос незнания или возможности создания пользовательского загрузчика для класса из кода.
Можно ли даже использовать загрузчик классов для выполнения таких задач, как предварительное заполнение полей, или я тут выбегаю по неверной касательной? Мне просто нужно небольшое руководство по наиболее распространенному способу выполнения этого типа вещей (предварительное заполнение полей класса во время выполнения).