Originally posted by Lasse Koskela:
I know of a handful of commercial websites here in Finland that have been implemented using Spring but I'm not allowed to disclose them. Pretty much all I can say is that Accenture is using Spring Framework in some of its projects in Finland and that a small IT shop named Reaktor Innovations is rumoured to do practically all their projects with Spring, for example. Obviously this is just a small fraction of what people are doing with Spring.
We do indeed use Spring Framework quite extensively at Reaktor Innovations, and have done so since the middle of 2003. It is currently part of all our internal projects, and we have introduced it in some form to virtually all our clients.
Typically we use key features such as IoC, declarative transactions, and Hibernate integration. We have also been pleased with our experience of the Acegi Security System, and adding new aspects using Spring AOP. We have not used the MVC features very much. Given the choice, we tend to favor Tapestry.
As a major upside, Spring enables us to use Test-Driven Development in an almost ubiquitous manner. Essentially all developed code is test-driven.
We have also been thinking about possible improvements. Setter-based injection, driven by a centralized application context, can sometimes break encapsulation and potentially lead to inconsistent states for context-managed beans. To some degree this could be improved by allowing annotation-based injection (especially using the native annotations of
Java 5, instead of the current commons-attributes-based implementation).
We might, for example. want to do something like this in a service bean:
instead of specifying all Dao wiring in the application context.
Sebastian Nykopp
Chief Architect
Reaktor Innovations
PS. Lasse, we currently employ 37 senior level software designers, so we are small but we don't really consider ourselves an "IT shop"
