Spring Framework är ett lättviktigt och modulärt ramverk som främst är framtaget för utveckling i J2EE-miljöer. Det finns många ramverk för att underlätta och strukturera utvecklingen i denna typ av projekt, men det som i mitt tycke gör att Spring sticker ut är främst två saker.
Den första saken som skiljer Spring från andra ramverk jag tidigare arbetat med är att det inte lägger tonvikten på Enterprise JavaBeans (EJB). J2EE-utveckling bygger generellt sett på användandet av EJB-komponenter för att hantera affärslogik och data. Detta har många fördelar, bland annat ökar skalbarheten och hanteringen av states och cykler förenklas, men kan det bli lite väl tungrott och skapa onödig overhead i vissa tillämpningar. Här kommer Spring Framework in då det erbjuder utveckling med vanliga Javakomponenter då EJB-komponenter mest skulle innebära att man skriver mängder av kod för att hantera händelser som inte är intressanta för systemet i fråga. Springapplikationer kräver dessutom inte en speciell driftsmiljö för EJBer, typiskt en applikationsserver, utan klarar sig bra med en mer lättviktig servletcontainer såsom Tomcat eller liknande.
Den andra saken jag tycker skiljer Spring från många andra ramverk är att det är väldigt modulärt. Det går förstås att använda Spring som en helhetslösning, från Spring DAO för hantering av databaser till utveckling av webbgränssnitt med Spring Web MVC Framework. Men man kan lika gärna välja ut delar av Spring och strunta i resten. Om man till exempel redan använder Hibernate går det enkelt att välja bort modulen Spring DAO men fortfarande använda resten av ramverket och integrera det med Hibernate.
En annan effekt av att Spring är så modulärt är att ramverket relativt enkelt kan integreras i både nya och befintliga projekt. Man kan använda de delar som för tillfället behövs utan att behöva designa om hela systemet för att passa in i ett befintligt ramverk. För en robust användaradministration kan Spring Security införas utan att man för den sakens skull behöver använda alla andra delar i ramverket.
Spring Framework är visserligen designat för att påverka utvecklare och i viss mån tvinga oss att skriva bra och standardiserad kod men jag tycker ändå att friheten är ganska stor. Även om själva kodandet är ganska bundet så är det enkelt att designa sitt system på ett sätt som passar. Och egentligen, handen på hjärtat, det är designen som är viktig att styra över. Jag ser det snarare som en fördel att tvingas skriva kod som följer vedertagen standard då det förlänger systemets livslängd och förenklar kommande vidareutvecklingar.
--Kajsa Goffrich

