Here we will learn spring framework in-depth and it's core concepts with simple explanation and examples. Spring framework makes java enterprise application development easy and was developed by Rod Johnson in 2003.
Spring framework is the general purpose, most popular and open source framework widely used by developers for developing java enterprise applications. It is light weight and provides great infrastructural support. Spring is called framework of frameworks the reason is it is very vast and it acts as a framework to which you can embed other frameworks like hibernate.
Features of Spring Framework
Inversion Of Control (IoC)
This is the top most feature of Spring framework where dependencies are injected by the framework itself. Framework creates the object at runtime and satisfies application dependencies.
Spring MVC is used for developing MVC based web applications.
Aspect Oriented Programming (AOP)
Aspect Oriented Programming (AOP) it is well implemented in Spring which allows to separate business logic from system services.
Spring framework provides great support for transaction management that can scale down to local transaction and scale up to global transaction using JTA.
Advantages of Spring framework
Spring framework revolutionized the java enterprise application development it's advantages are listed bellow.
Rapid Development - The first and foremost advantages, the application development is very fast.
Spring comes with many modules such as Spring MVC, Spring ORM, Spring JDBC, Spring Transactions Spring Security and many other. which can used as per application requirement in modular way.
Spring is a lightweight framework and allows developers to use any of its modules selectively. It supports POJO applications, which makes Spring framework more lightweight.
Applications developed in Spring framework are loosely coupled because of dependency injection.
Spring framework provides easy testing. It uses Spring Container to develop and run test cases outside enterprise container which makes testing much easier.
Spring provides flexibility for bean configuration. Developer has choice to configure beans using xml or annotation.