Spring-rammeverket består av mange moduler som kjerne, bønner, kontekst, uttrykksspråk, AOP, Aspects, Instrumentation, JDBC, ORM, OXM, JMS, Transaction, Web, Servlet, Struts etc. Disse modulene er gruppert i Test, Core Container , AOP, Aspekter, Instrumentering, Datatilgang / Integrasjon, Web (MVC / Remoting) som vist i følgende diagram.
Test
Dette laget gir støtte for testing med JUnit og TestNG.
Fjærkjernebeholder
Spring Core-beholderen inneholder moduler for kjerne, bønner, kontekst og uttrykksspråk (EL).
Kjerne og bønner
Disse modulene har funksjoner for IOC og Dependency Injection.
Kontekst
Denne modulen støtter internasjonalisering (I18N), EJB, JMS, Basic Remoting.
Uttrykksspråk
Det er en utvidelse til EL definert i JSP. Det gir støtte for å sette og hente egenskapsverdier, metodeanrop, tilgang til samlinger og indeksere, navngitte variabler, logiske og aritmetiske operatorer, gjenfinning av objekter etter navn etc.
AOP, aspekter og instrumentering
Disse modulene støtter aspektorientert programmeringsimplementering der du kan bruke Råd, Pointcuts etc. for å koble fra koden.
Aspektmodulen gir støtte til integrasjon med AspectJ.
Instrumenteringsmodulen gir støtte til klasseinstrumentering og klasselasterimplementeringer.
Datatilgang / Integrasjon
Denne gruppen består av JDBC, ORM, OXM, JMS og Transaction-moduler. Disse modulene gir i utgangspunktet støtte for å samhandle med databasen.
Web
Denne gruppen består av Web, Web-Servlet, Web-Struts og Web-Portlet. Disse modulene gir støtte for å lage webapplikasjoner.