Scrivo applicazioni Java aziendali e servizi Web al lavoro ( Spring , Hibernate, Maven, RESTEasy) e PHP (CakePHP ) e Python (Django) per i miei progetti collaterali.
Mentre vedo il valore di Inversion of Control, Aspect Oriented Programming ecc. che la Spring introduce, non sono sicuro di quanto massicce applicazioni web che non sono nello stack Java gestiscano senza un framework come Spring.
Quindi, gli sviluppatori devono solo "tollerare" componenti strettamente accoppiati e altre lamentele che Spring elimina o mi sfugge qualcosa?
Per chi non ha familiarità con Spring, le funzionalità che usiamo di più sono:
-
Inversion of Control container: configurazione dei componenti dell'applicazione e del ciclo di vita gestione di oggetti Java,
-
Programmazione orientata agli aspetti: consente l'implementazione di routine cross-cut,
-
Gestione delle transazioni: unifica diverse API di gestione delle transazioni e coordina le transazioni per gli oggetti Java.