Perché le annotazioni sono state introdotte in primavera e in letargo?

7

Vorrei sapere perché sono state introdotte annotazioni in Spring e Hibernate? Per le versioni precedenti di entrambi gli autori del libro di framework si diceva che se manteniamo la configurazione nei file xml, sarà più semplice da mantenere (a causa del disaccoppiamento) e cambiando semplicemente il file xml possiamo riconfigurare l'applicazione.

Se usiamo annotazioni nel nostro progetto e in futuro vogliamo riconfigurare l'applicazione, dobbiamo nuovamente compilare e costruire il progetto.

Quindi perché queste annotazioni sono state introdotte in questi framework? Dal mio punto di vista le annotazioni rendono le app dipendenti da determinati framework. Non è vero?

    
posta Chandrashekhar 01.06.2012 - 13:08
fonte

1 risposta

11

For earlier versions of both the frameworks book authors were saying that if we keep configuration in xml files then it will be easier to maintain (due to decoupling) and just by changing the xml file we can re-configure the application.

Indietro allora le annotazioni non esistevano. La gente odiava i file XML, e Java ha ottenuto una reputazione orribile a causa loro. Diamine, c'era uno strumento ampiamente utilizzato (XDoclet) che generava file di configurazione XML da speciali commenti JavaDoc, perché il loro mantenimento manuale era un tale dolore!

Quando le annotazioni sono state introdotte in Java 5, tutti si sono resi subito conto che per la maggior parte degli scopi erano molto, molto più mantenibili rispetto a tenere le cose che configurano i dettagli intimi di un'applicazione (come dipendenze dei servizi o mappature dei DB) in file XML separati. Realisticamente, la maggior parte della "configurazione" è davvero un codice per quanto riguarda le modifiche, cioè le modifiche verranno apportate non appena l'applicazione viene sviluppata (non mentre è distribuita) e di solito insieme alle modifiche nel codice.

If we use annotations in our project and in future we want to re-configure application then again we have to compile and build the project.

Perché questo è un problema? Stai costruendo un processo così orribile? Forse dovresti lavorarci su allora. Nota che sia Spring che Hibernate ti consentono comunque di utilizzare la configurazione XML, anche in combinazione con le annotazioni. Puoi persino ignorare le annotazioni esistenti da un file di configurazione XML.

So why these annotations were introduced in these frameworks? From my point of view annotations make the apps dependent on certain framework. Isn't it true?

L'app dipende comunque dal framework, altrimenti non ne avresti bisogno. Allora perché fingere diversamente? Inoltre, molte delle annotazioni sono ora standard Java ufficiali (come JPA e CDI) e supportate da più framework differenti.

    
risposta data 01.06.2012 - 13:26
fonte

Leggi altre domande sui tag