Scrivo applicazioni Java aziendali e servizi web al lavoro ( Spring , Hibernate, Maven, RESTEasy) e PHP (CakePHP) e Python (Django) per i miei progetti secondari.
Mentre vedo il valore che Inversion of Control, Aspect Oriented Programming, ecc. Che porta in Spring, non sono sicuro di come gestiscono enormi applicazioni Web che non si trovano nello stack Java senza un framework come Spring.
Quindi, gli sviluppatori devono semplicemente "sopportare" componenti strettamente accoppiati e altri reclami che Spring elimina o mi sto perdendo qualcosa?
Per chi non ha familiarità con Spring, le funzionalità che utilizziamo di più sono:
Inversione del contenitore di controllo: configurazione dei componenti dell'applicazione e gestione del ciclo di vita degli oggetti Java,
Programmazione orientata all'aspetto: consente l'implementazione di routine trasversali,
Gestione delle transazioni: unifica diverse API di gestione delle transazioni e coordina le transazioni per gli oggetti Java.