Весна почти обеспечивает то, что я хочу. В Spring вы можете просто аннотировать классы с помощью @Component, а затем использовать «context: component-scan», чтобы Spring автоматически выполнял поиск компонентов. Затем вы можете создать контекст приложения и вызвать getBean (String, Class), чтобы получить реализацию любого интерфейса или класса.
Например, если у меня есть интерфейс «Mp3Service» и я хочу зарегистрировать новую реализацию под названием «InternetMp3Service», все, что мне нужно сделать, это добавить аннотацию @Component к определению класса.
Единственная проблема с этим для меня заключается в том, что я хочу использовать все это в апплете, и поэтому я получаю исключение java.lang.RuntimePermission для разрешения "accessDeclaredMembers". Я не хочу подписывать апплет и не хочу создавать явную конфигурацию для bean-компонентов.
То, что я ищу, - это фреймворк / библиотека, которая будет проходить аннотации во время компиляции / сборки и создавать конфигурацию, которую затем можно будет прочитать во время выполнения.
Например, если здесь ничего не возникнет и я решу, что это стоит того, я мог бы написать свою собственную программу, чтобы выкинуть все классы и найти определенную аннотацию, а затем создать конфигурационный файл spring xml. Тем не менее, я подумал, что кто-то может теперь что-то уже доступно.
Спасибо.