Spring Framework - Architecture
Spring could conceivably be a one-stop look for all your endeavor applications. In any case, Spring is secluded, enabling you to pick and pick which modules are pertinent to you, without getting the rest. The accompanying area gives insights regarding every one of the modules accessible in Spring Framework.
The Spring Framework gives around 20 modules which can be utilized dependent on an application requirement.
The Core Container comprises of the Core, Beans, Context, and Expression Language modules the subtleties of which are as per the following −
The Core module gives the basic pieces of the system, including the IoC and Dependency Injection features.
The Bean module gives BeanFactory, which is an advanced usage of the production line pattern.
The Context module expands on the strong base given by the Core and Beans modules and it is a medium to get to any items characterized and designed. The ApplicationContext interface is the point of convergence of the Context module.
The SpEL module gives a ground-breaking articulation language to questioning and controlling an item diagram at runtime.
The Data Access/Integration layer comprises of the JDBC, ORM, OXM, JMS and Transaction modules whose detail is as per the following −
The JDBC module gives a JDBC-deliberation layer that expels the requirement for repetitive JDBC related coding.
The ORM module gives mix layers to famous item social mapping APIs, including JPA, JDO, Hibernate, and iBatis.
The OXM module gives a deliberation layer that underpins Object/XML mapping executions for JAXB, Castor, XMLBeans, JiBX and XStream.
The Java Messaging Service JMS module contains highlights for creating and devouring messages.
The Transaction module underpins automatic and definitive exchange the executives for classes that actualize unique interfaces and for all your POJOs.
The Web layer comprises of the Web, Web-MVC, Web-Socket, and Web-Portlet modules the subtleties of which are as per the following −
The Web module gives essential web-arranged combination highlights, for example, multipart record transfer usefulness and the instatement of the IoC holder utilizing servlet audience members and a web-situated application context.
The Web-MVC module contains Spring's Model-View-Controller (MVC) usage for web applications.
The Web-Socket module offers help for WebSocket-based, two-path correspondence between the customer and the server in web applications.
The Web-Portlet module gives the MVC usage to be utilized in a portlet situation and mirrors the usefulness of Web-Servlet module.
There are couple of other critical modules like AOP, Aspects, Instrumentation, Web and Test modules the subtleties of which are as per the following −
The AOP module gives an angle arranged programming usage enabling you to characterize strategy interceptors and pointcuts to neatly decouple code that executes usefulness that ought to be separated.
The Aspects module gives combination AspectJ, which is again an amazing and develop AOP framework.
The Instrumentation module gives class instrumentation backing and class loader executions to be utilized in certain application servers.
The Messaging module offers help for STOMP as the WebSocket sub-convention to use in applications. It additionally bolsters an explanation programming model for directing and preparing STOMP messages from WebSocket clients.
The Test module bolsters the testing of Spring segments with JUnit or TestNG frameworks.