Spring Framework

From NovaOrdis Knowledge Base
Jump to navigation Jump to search

External

Internal

Overview

The core Spring Framework is the foundation of everything else in the Spring-based development model. It provides the core container and dependency injection framework, and many other features such as Spring MVC, data access, basic persistence support in form of the JdbcTemplate, integration, support for reactive-style programming, etc. Spring Data extends the persistence capabilities outside the core framework, as a separate project.

Functionality

  • Servlet-based Web Application Support
    • Spring MVC
    • WebSocket, SockJS and STOMP Messaging support

Spring Framework Core Technologies Concepts

Spring Framework Dependency Management

All Spring Framework components are specified by Maven BOMs, available here:

List of Released Maven BOMs on Maven Central

If Maven is used for building the project, the BOM support is built-in, so the BOM can be specified straight in the dependency section of the POM file. In Gradle, at least at the time of the writing, that is not possible, so we need to use a specialized Spring dependency management plugin. This section describes how to configure and use it:

Gradle Spring dependency-management Plugin

Note that Spring Boot has a different dependency mechanism.

TO DISTRIBUTE

Spring Framework Core Technologies

Events

Resources

Type Conversion

SpEL

Spring Expression Language (SpEL)

Data Binding

AOP

Spring Framework Data Access

TO PROCESS https://docs.spring.io/spring-framework/docs/current/spring-framework-reference/data-access.html#spring-data-tier

Transactions

DAO Support

JDBC

ORM

Marshalling XML

Integration

TO PROCESS https://docs.spring.io/spring-framework/docs/current/spring-framework-reference/integration.html#spring-integration

Remoting

JMS

JCA

JMX

Email

Tasks

Scheduling

Cache

TODO: https://docs.spring.io/spring/docs/current/spring-framework-reference/integration.html#cache, https://spring.io/guides/gs/caching/