Skip to main content
1 of 2
Steve B.
  • 706
  • 6
  • 5

Since other posts here mention the upside, I'll mention the negative aspects of Spring. Even with these negatives, Spring is omnipresent in its niche, reliable, and works as advertised.

So, on to the negatives:

  • Enormous: I'd like to put jars with 3000 classes into my little hobby project.

  • There are some descriptions of it as slower than some other DI frameworks like Guice or Pico. anecdotal, and probably not too important.

  • Dealing with some parts of spring can be frustrating when they're not well documented parts of the core and documentation you do find diverges across the multiple major versions.

As as side effect of its size, be prepared to spend joyous hours digging through piles of classes that while logically named, start to merge together into a gigantic pile of nouns when you're tired ("sure, you just connect your TransactionAwareConnectionFactoryProxy to your UserCredentialsConnectionFactoryAdapter to your .. zzzzzzzz "). To be fair, they really are logically named, it's a reasonable response to the size of the framework, but still.

Possibly as a result of this adaption of new pieces of spring can be slow, at least for me. Not so much with core spring, but there are connectors for just about everything, and they're not all as well documented as they could be, and that's when you start wading through noun soup. Again, it's really all just in response to its size.

Steve B.
  • 706
  • 6
  • 5