2015-03-20 9 views
28

Wcześniej konfiguracje były kodowane w kodzie, później zostały przeniesione do plików .property (ze względu na unikanie zakodowanych wartości, unikanie zmiany kodu w celu zmiany konfiguracji..etc) przeniesiono do XML (ze względu na bycie bardziej wystandaryzowanym, bezbłędnie..etc)Zalety JavaConfig nad konfiguracjami XML na wiosnę?

Teraz, czytając o @konfiguracji na wiosnę 3, wygląda na to, że znów wracamy do początkowego podejścia.

Dlaczego chcemy konfiguracjach ciężko kod w kodzie zamiast po to externalized?

Odpowiedz

27

Istnieją pewne zalety

  1. Java jest bezpieczny typ. Kompilator zgłosi problemy, jeśli jesteś konfigurowanie kwalifikatory prawej klasy fasoli.
  2. XML oparty na konfiguracji może szybko się powiększyć. [Tak, możemy podzielić i zaimportować, ale nadal]
  3. Wyszukiwanie jest znacznie prostsze, refaktoryzacja będzie błogością. Znalezienie definicji fasoli będzie znacznie łatwiejsze.

Są jeszcze ludzie, którzy lubią konfigurację XML i nadal to robią.

Referencje: Java configuration advantages Some more reasons

+1

To zależy od rodzaju konfiguracjach są ładowane klas Javy. O ile widzimy, posiadanie wszystkich konfiguracji w jednym miejscu jest zawsze bezpieczne. Powinniśmy myśleć wszystko w szerszej perspektywie lub na dużą skalę. Bez tworzenia aplikacji mogliśmy sprawić, aby aplikacja zachowywała się w różny sposób w różnych środowiskach. –

+0

@ prashanth-g Monolityczne pliki konfiguracyjne? Duża skala? Nie sądzę, że to się liczy. Wyobraźmy sobie zmiany w konfiguracji wielu deweloperów w różnych modułach. Wolałbym, aby każda zmiana była dokonywana w małych, zmodularyzowanych plikach konfiguracyjnych, niż w jednym miejscu. – jonasespelita

+0

@jonasespelita To była aplikacja monolityczna w środowisku wielu klastrów. W tej konfiguracji uważamy, że lepszym rozwiązaniem będzie posiadanie pewnych konfiguracji, takich jak adresy IP, adresy URL itp. W pliku XML. Ale to zależy od potrzeb i środowiska, które posiadasz. Dalsze sprawdzanie https://stackoverflow.com/questions/182393/xml-configuration-versus-notation-based-configuration –