Spring Framework Overview, What Is Spring Framework?
If you are looking for an application development framework for Enterprise Java then Spring framework might fit your need. You can use the Spring Framework to create high-performance, easily testable and reusable code and increase productivity after all.
If we need to talk about size and transparency, spring is lighter. The original version of the Spring Framework is approximately 2MB.
The Spring Framework J2EE uses POJO-based programming models which is considered to be easy for developing projects.
Benefits of using the Spring Framework
Spring uses POJOs. The main advantage of using POJOs is that you don’t need an EJB container product such as an application server.
Another benefit of using Spring is even if the packages are enough, you only have to worry about the ones you need.
The spring wheel doesn’t reinforce, instead it actually uses some existing technologies.
It is easy to test applications written with Spring as environment-dependent code has been transferred to this framework.
It can be helpful for translating specific exceptions (for example, thrown by JDBC, Hibernate or JDO), into unchecked exceptions.
Dependency Injection (DI)
Dependency Injection or simply call it, DI of inversion of control. Let us try to understand what Inversion of Control IOC actually is?
In case of complex project, application classes must be independent to increase the likelihood of reusing these classes and to test other classes independently while performing unit testing. Dependency injection helps keep these classes together and at the same time free of them.
Dependency injection can occur by passing parameters to the constructor or post-construction by using setter construction methods.
Aspect Oriented Programming (AOP)
One of the major components of spring is the Oriented Programming (AOP) framework. Actions that stretch many points of functions are called cross-cutting concerns and are ideologically different from the application’s business logic.
The AOP module of the Spring Framework provides a aspect-oriented programming implementation so that you can define method-blocks and points in clear code that separates functionality that should be separated.