2015-03-20 2 views
28

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

Теперь, читая о @Configuration весной 3, похоже, что мы снова возвращаемся к первоначальному подходу.

Зачем нам нужны конфигурации жесткого кода в коде, а не , имеющие внешний вид?

ответ

27

Есть некоторые преимущества

  1. Java типобезопасен. Компилятор сообщит о проблемах, если вы используете , определяя квалификаторы классов правого компонента.
  2. XML, основанный на конфигурации, может быстро расти. [Да, мы можем разделить и импортируем, но все еще]
  3. Поиск намного проще, рефакторинг будет блаженством. Найти определение bean будет намного проще.

Есть еще люди, которым нравится конфигурация XML и продолжают это делать.

Ссылки: Java configuration advantages Some more reasons

+1

Это зависит от того, какие конфигурации загружаются в классы Java. Насколько мы видим, наличие всех конфигураций в одном месте всегда безопасно. Мы должны думать обо всем в более широкой перспективе или в широких масштабах. Без создания приложения мы могли бы заставить приложение вести себя по-разному в разных условиях. –

+0

@ prashanth-g Монолитные файлы конфигурации? Крупномасштабные? Я не думаю, что это вычисляет. Представьте себе несколько изменений конфигурации от нескольких разработчиков на разных модулях. Я предпочел бы, чтобы все изменения были сделаны в небольших модульных файлах конфигурации, чем в одном месте. – jonasespelita

+0

@jonasespelita Это было монолитное приложение в многокластерной среде. При такой настройке мы чувствовали, что использование определенных конфигураций, таких как IP, URL и т. Д. В XML-файле, будет лучшим решением. Но это зависит от потребностей и окружающей среды, которые у вас есть. Дальнейшая проверка https://stackoverflow.com/questions/182393/xml-configuration-versus-annotation-based-configuration –

Смежные вопросы