Da qualche parte che ho letto Spring offre convenienza rispetto alla configurazione. Ma la gente di Spring sta apportando così tanti cambiamenti sulla configurazione, che ora mi sto davvero confondendo nell'usare la configurazione xml o l'annotazione.
Vorrei che qualcuno suggerisse una metodologia infallibile o una regola empirica nell'uso di xml e annotazioni.
Esempi in SO per mostrare che molti principianti come me si stanno confondendo sulla configurazione.
-
Non sembra cogliere la funzionalità dietro
<context:annotation-config>
e<context:component-scan>
.Da quello che ho letto sembrano gestire diverse annotazioni (@Required, @Autowired etc vs @Component, @Repository, @Service ecc.) Ma anche da quello che ho letto registrano le stesse classi di post processor del bean.
Per confondermi ancora di più, c'è un
annotation-config
attributo su<context:component-scan>
... -
Ho ancora il tag di scansione del componente:
<context:component-scan base-package="com.mycompany.maventestwebapp" />
ma ho anche un altro tag (che sembra avere un compito simile), questo:
<annotation-driven />
Qual è la differenza tra questi due tag? Un'altra cosa "strana" è che l'esempio precedente (che non utilizza il tag basato sulle annotazioni) è molto simile al progetto creato da STS usando il progetto Spring MVC Template ma se elimino il tag basato sulle annotazioni dalla sua configurazione file il progetto non viene eseguito e mi dà il seguente errore: HTTP Status 404 - ...
Spring 3.2 non ha più bisogno di cglib per il proxy, ma le versioni inferiori usano cglib. Una citazione dal blog di springsource
Per generare tali proxy, Spring utilizza una libreria di terze parti chiamata cglib. Sfortunatamente, questo progetto non è più attivo. Nella primavera 3.2, è molto probabile che la primavera userà Javassist invece di default.
Sono sufficienti per suggerire che Spring è Confusione sulla configurazione?