Когда я смотрю на фреймворки Java, такие как Hibernate, JPA или Spring, у меня обычно есть возможность сделать мою конфигурацию через xml файл или поместить аннотации непосредственно в мои классы.
Я с интересом спрашиваю себя, как мне идти.
Когда я использую аннотации, у меня есть класс и его конфигурация вместе, но с xml я получаю более крупную картину своей системы, потому что я вижу все конфигурации классов.
Аннотации также скомпилированы каким-то образом, я думаю, и это должно быть быстрее, чем разбор XML-кода, но, с другой стороны, если я хочу изменить свою конфигурацию, мне нужно перекомпилировать его, а не просто изменить файл xml (который может становятся еще более удобными для производственных сред на стороне клиента).
Итак, когда я смотрю на мои очки, я склонен идти по xml-пути. Но при просмотре форумов или руководств обычно используются аннотации.
Каковы ваши плюсы и минусы?