In this article we will explains you the Advantages and Disadvantages of Java Spring Framework. Spring framework was developed by Rod Johnson in 2002 based upon his book Expert One-on-One J2EE Design and Development. Since then it is one of the most used framework and now a days it come with many modules to further simplify application development.
Spring Framework is open source framework in Java for enterprise application development. It works with all the existing framework of Java and do not replace any but work as glue for all other libraries of Java.
Spring framework is modular framework with many modules for various jobs and spring core is the main module on to which other modules in the system works. Modularity is one of the important features of Spring framework which makes it easy to use in application development. You can use one or more frameworks on the top of Spring core.
Spring framework is feature rich framework and it comes with following features:
Spring is modular lightweight framework which allows you to selectively use any of its module on the top of Spring Core.
2. Inversion Of Control (IOC)
This is another top feature of Spring framework where application dependencies are satisfied by the framework itself. Framework creates the object in runtime and satisfies application dependencies.
3. Aspect Oriented Programming (AOP)
Aspect Oriented Programming (AOP) is very popular in programming world and in Spring it is well implemented. Developer can use Aspect Oriented Programming (AOP feature of Spring to develop application in which business logic is separated from system services.
Spring provides their own container for managing the bean lifecycle.
5. MVC Framework
Spring MVC Framework is used for developing MVC based web applications.
6. Transaction Management
Spring framework provides generic Transaction Management layer which can be used with or without J2EE(JEE) environment.
7. JDBC Exception Handling
Spring provides their own abstraction of JDBC exception which further simplify the exception handling in program.
Here are advantages of Spring Framework:
1. Solving difficulties of Enterprise application development
Spring is solving the difficulties of development of complex applications, it provides Spring Core, Spring IoC and Spring AOP for integrating various components of business applications.
2. Support Enterprise application development through POJOs
Spring supports development of Enterprise application development using the POJO classes which removes the need of importing heavy Enterprise container during development. This makes application testing much easier.
3. Easy integration other frameworks
Spring designed to be used with all other frameworks of Java, you can use ORM, Struts, Hibernate and other frameworks of Java together. Spring framework do not impose any restriction on the frameworks to be used together.
4. Application Testing
Spring Container can be used to develop and run test cases outside enterprise container which makes testing much easier.
Spring framework is modular framework and it comes with many modules such as Spring MVC, Spring ORM, Spring JDBC, Spring Transactions etc. which can used as per application requirement in modular fashion.
6. Spring Transaction Management
Spring Transaction Management interface is very flexible it can configured to use local transactions in small application which can be scaled to JTA for global transactions.
Here are tutorials to learn Spring framework: