2010-05-09 5 views
14

Sono nuovo per la primavera e ora un giorno sento parlare di Spring Framework. Ho due serie di domande molto specifiche:Cosa sono le annotazioni e come funzionano effettivamente per framework come Spring?

Set # 1:

  • Quali sono le annotazioni in generale?

  • Come funzionano le annotazioni in particolare con il framework Spring?

  • Le annotazioni possono essere utilizzate al di fuori di Spring Framework oppure sono specifiche del framework?

Set n ° 2:

  • Quale modulo di Spring Framework è ampiamente usato nell'industria?

  • Penso che sia Spring MVC ma perché è il il modulo più utilizzato, se sono correggere o correggermi su questo?

Sono novizio per Spring e quindi sentitevi liberi di modificare queste domande per avere più senso.

risposta

9

Quali sono le annotazioni in generale?

Le annotazioni possono essere pensate come metadati per le classi.

Come funziona l'annotazione in particolare con il framework Spring?

Spring utilizza annotazioni in alternativa a XML per la configurazione dichiarativa. Ad alcune persone non piace XML.

Può essere utilizzato al di fuori delle annotazioni Primavera quadro o sono Framework specifico?

è necessario il JAR di implementazione di utilizzare qualsiasi annotazione, quindi se si utilizza le annotazioni sono usando primavera. Le annotazioni sono un'idea generale introdotto in Java 5. È possibile scrivere il proprio così.

Quale modulo di Spring Framework è ampiamente utilizzato nell'industria?

Spring Core è utilizzato da tutti gli altri moduli; da qui il nome.

penso che sia Spring MVC, ma il motivo per cui è il modulo più utilizzato, se sbaglio o correggetemi su questo punto?

Assolutamente errato. Spring MVC ha molti concorrenti (ad es. Struts 1 e 2, JSF, Wicket, Flex, ecc.), Quindi non è sempre la prima scelta per il web MVC. E tutte le app che usano Spring non sono app web. Spring Batch e Integration sono piuttosto popolari e in crescita.

+0

Spring Batch e Spring Integration sono utilizzati in parallelo a Spring MVC o non sono totalmente interdipendenti? – Rachel

+0

Non di solito. Ovviamente Spring Batch non ha alcun componente Web o UI. Spring Integration implementa i pattern da http://www.amazon.com/Enterprise-Integration-Patterns-Designing-Deploying/dp/0321200683/ref=sr_1_1?ie=UTF8&s=books&qid=1273422676&sr=1-1 e non si cura sull'interfaccia web, sia. – duffymo

6

Le annotazioni sono state introdotte in Java 5 http://java.sun.com/j2se/1.5.0/docs/guide/language/annotations.html e non sono specifiche di Spring. In generale, le annotazioni consentono di aggiungere metadati a una classe, un metodo o una variabile. Un'annotazione può essere interpretata dal compilatore (ad esempio, l'annotazione @Override) o da un framework come la molla (ad esempio, l'annotazione @Component).

Spring ha molte annotazioni diverse, quindi è necessario essere più specifici su quali annotazioni si hanno domande. Ma le annotazioni Spring possono essere utilizzate solo all'interno di Spring e altre annotazioni possono essere utilizzate all'interno di altri framework.

Per il set n. 2 di domande, che dovrebbe essere aperto come seconda domanda poiché non si riferisce alle annotazioni.

+0

Volevo sapere l'idea di Annotazioni e come si confronta con XML Configuration for Spring Framework e quali sono i pro e i contro dell'uso di Annotations rispetto a XML Configuration for Spring Framework? – Rachel

+1

In primavera, la configurazione XML è un po 'più prolissa, ma mantiene il codice specifico di Spring fuori dalla base di codice. È una questione di preferenze, davvero. XML è più esplicito e rende le definizioni dei bean molto chiare mentre molte "magie" possono accadere con le annotazioni (scansione dei componenti, autowiring, ecc.) E spesso c'è meno configurazione con le annotazioni. –

0

Quali sono le annotazioni in generale?

Le annotazioni sono un modo conveniente di configurazione, che può anche essere eseguito utilizzando file di configurazione espliciti, come i descrittori di distribuzione.

Come funziona l'annotazione in particolare con il framework Spring?

In primavera sono utilizzati per l'iniezione di dipendenza e molti altri scopi

Può essere utilizzato al di fuori delle annotazioni Primavera quadro o sono Framework specifico?

Sì, è possibile anche scrivere le proprie annotazioni. Sono stati introdotti in Java 1.5 per i.g. Supprendo avvisi.

Quale modulo di Spring Framework è ampiamente utilizzato nell'industria?

Il modulo di nucleo a molla viene utilizzato in tutte le applicazioni e quindi principalmente utilizzato.

Si dovrebbe anche sfogliare il Documentation per avere una prima impressione quella che coprono il quadro di primavera ed i suoi moduli.

2

annotazioni in Java linguaggio di programmazione è una forma speciale di metadati che può essere incorporato nel codice sorgente Java. L'uso di annotazioni in linguaggio Java è introdotto in Java 5.0 ovvero Java 5 fornisce metdata supporto a livello di linguaggio.

In primavera, le configurazioni basate su XML sono lo stile di configurazione più popolare. Successivamente è arrivato lo stile di configurazione basato su annotazioni che consente agli utenti di configurare i bean all'interno del file sorgente java stesso. Il framework Spring fornisce diverse annotazioni personalizzate java5 +. Queste annotazioni possono essere utilizzate nella demarcazione transazionale, a parte, JMX ecc.Ci sono core Annotazioni di Primavera, Annotazioni di MVC di Primavera, Annotazioni di AspectJ, Annotazioni di JSR-250, Annotazioni di Test ecc. Sia le configurazioni basate su xml che le Annotazioni hanno pro e contro. Suggerirei di mescolare i due.

Le annotazioni personalizzate Spring sono specifiche del framework. Ma puoi anche scrivere le tue annotazioni.

Il modulo contenitore Core è il modulo più importante che gestisce il principio di base dell'iniezione di dipendenza ed è utilizzato in tutti gli altri moduli del framework. Spring MVC è solo un framework MVC basato sulle funzionalità principali di Spring.

È possibile consultare la documentazione Spring e libri come Spring in Action e Spring Recipes per ottenere una buona idea del framework.