Configurazione di Spring meglio su file xml o con Java?

Ho sempre configurato Spring con i file xml, ma ultimamente sto notando che molti stanno passando alla configurazione tramite classe Java, e che la preferiscono sotto molti punti di vista, flessibilità, refactoring e via dicendo.

@Configuration
public class AppConfig {
  @Bean
  public MyService myService() {
      return new MyServiceImpl();
  }
}

Sicuramente scrivere su una classe Java piuttosto che su xml dovrebbe essere meglio... Voi come vi trovate meglio? E perchè?

 

Marco Ballante 29/03/2016

Per lasciare un commento devi essere autenticato Accedi

Risposte


Ciao Marco,


che fai lanci un argomento bomba ? lo sai che questa e' una guerra di religione.

Comunque ti dico la mia.

1. XML e' veramente difficile da leggere e mantenere su progetti di certe dimensioni. Non ha nessun vantaggio specifico, il ciclo di vita dei Beans nella creazione del Context e' esattamente la stesso.

2. Al contrario la definizione dei componenti usando differenti stereotipi aiuta la comprensione del tipo di oggetto  e il suo scopo nel progetto.

3. Spring con le annotationi basate sulla specifica jsr-330 aiuta a mantenere un acerta inetrpotabilita verso JEE framework .. magari un gionro si passa a CDI ( non accade mai )

4. Il mercato e Pivotal stessa si muove verso le annotazioni, si tende a rendere il codice piu conciso , consistente e non suddiviso in configurazioni e classi. Spring boot con l xml sarebbe ridicolo :)

Pro a favore dell XML

1. Puo capitare in alcuni progetti che la definizione di properties e comportamenti dell applicazione , sopratutto su porgetti di integrazione si apiu semplice via xml,  customizzazione piu facile anch eda team meno esperti e non propriamente del settore. Per esmpio integrazione con script groovy e regole di ricerca per queries ( ma questo vale anche su annotazioni ) , utilizzo di DSL ecc ..

Angelo Trozzo 30/03/2016

Ciao Angelo, il fatto è che sinceramente ho sempre configurato Spring con file xml, però l'altro giorno mi sono guardato intorno ed ho visto che ormai sembra una pratica obsoleta, per cui ho voluto condividere questo dubbio ;) Grazie. - Marco Ballante


Per lasciare un commento devi essere autenticato Accedi


Dai il tuo contributo, Rispondi alla discussione!


Non hai trovato la risposta che cercavi? Crea tu una nuova discussione
Javajob.it © 2017 - Javajob.it è un progetto realizzato da Gsoftware srls