Criticisms of Spring, PHP, and Rails

Spring is huge.

The unzipped distribution is over 150 Meg. Spring is not a single framework. Rather, it's more of a collection of independent tools, with its Dependency Injection framework as the core item.

Some immediate consequences of this large size :

  • it's complex.
  • it has no clear focus. It includes "everything and the kitchen sink".
  • its javadoc has over 2400 classes.
  • its lib directory contains 49 other tools, totaling 82 jars. It's true that an application would never use them all, but this clearly has non-trivial consequences. It would be difficult to find any other tool having so many dependencies.
  • it takes significant time to learn about all of its parts. Even if you don't use them, you will likely need to learn at least something about all its parts, just to see what they are about.
  • Joshua Bloch's dictum of "when in doubt, leave it out" doesn't seem to have been applied to this tool with any enthusiasm.

Thank you for your interest!

We will contact you as soon as possible.

Send us a message

Oops, something went wrong
Please try again or contact us by email at