Мой личный опыт показывает, что в среднем работа с аннотациями для большинства разработчиков гораздо проще, чем работа со стандартным адом Java Java Configuration. Для таких вещей, как JPA и Spring тестирование, они абсолютно спасают жизнь.
Хорошая особенность аннотаций в том, что они делают настройку ваших классов самодокументируемой. Теперь вместо того, чтобы искать в огромном XML-файле, чтобы попытаться выяснить, как фреймворк использует ваш класс, ваш класс говорит вам об этом.
Обычно проблема с такими изменениями заключается в том, что привыкание к ним просто требует времени. Большинство людей, включая разработчиков, сопротивляются изменениям. Я помню, когда я начал работать со Spring. В течение первых нескольких недель я задавался вопросом, почему кто-либо смирился с головными болями, связанными с этим. Затем, несколько недель спустя, я подумал, как бы я жил без него.