Spring Framework: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
 
(12 intermediate revisions by the same user not shown)
Line 4: Line 4:
* https://docs.spring.io/spring/docs/5.1.0.RELEASE/spring-framework-reference/
* https://docs.spring.io/spring/docs/5.1.0.RELEASE/spring-framework-reference/
* JavaDoc https://docs.spring.io/spring-framework/docs/current/javadoc-api/
* JavaDoc https://docs.spring.io/spring-framework/docs/current/javadoc-api/
* Spring Framework releases: http://repo1.maven.org/maven2/io/spring/platform/platform-bom/


=Internal=
=Internal=
Line 31: Line 32:


* [[Spring Dependency Injection and Inversion of Control Container Concepts]]
* [[Spring Dependency Injection and Inversion of Control Container Concepts]]
* [[Spring Application Configuration Concepts]]
* [[Spring Property Injection Concepts]]
* <span id='Spring_Framework_Testing'></span>[[Spring Framework Testing Concepts]]
* [[Spring Framework Event Handling]]
* [[Spring MVC Concepts]]
* [[Spring MVC Concepts]]
* [[Spring REST Concepts]]
* [[Reactive Support in the Spring Framework]]
* [[Reactive Support in the Spring Framework]]
* [[Spring Transaction Management]]
* [[Spring Transaction Management]]
* [[Spring Validation Concepts]]
* [[Spring Validation Concepts]]
* [[Spring Persistence Concepts]]
* [[Spring Persistence Concepts]]
* [[Spring Logging]]
* <font color=darkgray>TO PROCESS until all Spring Concepts are depleted: https://docs.spring.io/spring-framework/docs/current/spring-framework-reference/core.html</font>
* <font color=darkgray>TO PROCESS until all Spring Concepts are depleted: https://docs.spring.io/spring-framework/docs/current/spring-framework-reference/core.html</font>


Line 44: Line 49:


{{External|[http://repo1.maven.org/maven2/io/spring/platform/platform-bom/ List of Released Maven BOMs on Maven Central]}}
{{External|[http://repo1.maven.org/maven2/io/spring/platform/platform-bom/ 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:
{{Internal|Gradle Spring dependency-management Plugin|Gradle Spring dependency-management Plugin}}
Note that Spring Boot has a [[Spring_Boot_Concepts#Spring_Boot_Dependency_Management|different dependency mechanism]].


=TO DISTRIBUTE=
=TO DISTRIBUTE=
Line 51: Line 62:
===Type Conversion===
===Type Conversion===
===SpEL===
===SpEL===
{{Internal|Spring Expression Language (SpEL)#Overview|Spring Expression Language (SpEL)}}
===Data Binding===
===Data Binding===
===AOP===
===AOP===
==Spring Framework Testing==
<font color=darkgray>TO PROCESS https://docs.spring.io/spring-framework/docs/current/spring-framework-reference/testing.html#testing</font>
==Spring Framework Data Access==
==Spring Framework Data Access==
<font color=darkgray>TO PROCESS https://docs.spring.io/spring-framework/docs/current/spring-framework-reference/data-access.html#spring-data-tier</font>
<font color=darkgray>TO PROCESS https://docs.spring.io/spring-framework/docs/current/spring-framework-reference/data-access.html#spring-data-tier</font>

Latest revision as of 02:07, 24 March 2022

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/