I'm planning on doing some Java web development in my spare time to learn a new set of programming skills, and just want to survey opinion on why Spring is so good for middleware development?

What are the key features and advantages of using this over, say struts or writing server pages?

  • 3
    I'm not at all sure what you are asking here. Spring is such a huge framework, this is like asking why Java is good for Enterprise development. Commented May 13, 2011 at 2:09
  • Because it is lightweight. And it does not require a j2ee server to run.
    – Kaushik
    Commented Sep 27, 2013 at 19:10

1 Answer 1


Spring MVC is what you are asking about, I believe. I don't know about Struts or regular server pages as I have only used Spring MVC but I found Spring rather straightforward to get started with and was drawn to it by its offering more than just a web framework, such as dependency injection and aspect-oriented programming. I have already begun making good use of DI but haven't used AOP much yet, however I feel that Spring is a good robust platform to where, once you learn it, it can be utilized in other areas besides web development.

Also, Spring MVC makes use of JSP's, I don't think there is any real difference between servlet pages as you mention them and the JSP's in Spring, so its not a tradeoff for using Spring vs servlet pages.

  • +1 for figuring out what the questioner was really asking about and addressing it properly. Commented May 13, 2011 at 8:37
  • Apologies, it was a bit of a loaded question. I've got an exam coming up and one question is 'seen', therefore no help will be given on the entire exam. There's a lot of ambiguity and lots of the exam covers topics we've not even been taught. We have to "describe what Spring is and identify key features, with respect to middleware development." We've not actually been given a consistent definition for 'middleware', but I'm going to assume it means features such as DI. Thanks for your answer.
    – RobB
    Commented May 17, 2011 at 1:31

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.