В контексте Spring (ну, не только, но именно об этом ваш вопрос), аннотации - это просто метаданные - информация, связанная с кодом. Это просто удобная (или нет) замена метаданных XML, которая делает то же самое: заявляет, что, например, заданный установщик должен вызываться с заданным параметром. Основное различие между аннотациями и метаданными XML заключается в том, что аннотации связаны с кодом , поэтому они могут служить удобными значениями по умолчанию, в то время как вы по-прежнему можете перезаписывать их определениями XML-бинов.
Чтобы выполнить «работу», никогда не достаточно аннотировать ваш код (так как никогда не достаточно написать дескриптор контекста приложения XML. Вам нужен какой-то фабричный / прикладной контекст компонента, способный читать эти метаданные и делай все, что требуется.