Ранее конфигурации были жестко закодированы в коде, позже они были экстернализованы к файлам .property(во избежание жестких кодированных значений, избегая изменения кода для изменения конфигураций..etc), тогда он переместился в XML (для большей стандартизации, без ошибок).
Теперь, читая о @Configuration в Spring 3, похоже, что мы снова возвращаемся к первоначальному подходу.
Зачем нам нужны конфигурации жесткого кода в коде, а не с его экстернализацией?