The question is if you are talking about the basic Spring framework or the Spring frame family. (Spring Package, Spring MVC, Spring Web Stream, Spring Web Services, etc.)
The main features of the structure:
- Mature dependency injection framework => achieving testing ability is actually very simple
- AOP Support
- Good IDE Support ( STS )
- * Template: utility classes that help you do the most ordinary things very simple and without templates. ( JdbcTemplate , HibernateTemplate , JmsTemplate , etc.)
- A large number of resources . ( videos , blogs, forums, etc.)
- No need for a "real" application server.
- non-intrusive : as far as I know, when developing any Spring project, this is really an important point to give the developer the ability to "pull out" the project from Spring at any time and leaving as little space as possible in the code base.
But, in my opinion, its strength and strength really only show when you start using one of the frameworks that I mentioned at the beginning. Basically, choose any of them, and you will find a really excellent, actively developed infrastructure for a given set of tasks, with deep Spring integration.
source share