Spring Framework: Difference between revisions
(→SpEL) |
|||
(38 intermediate revisions by the same user not shown) | |||
Line 3: | Line 3: | ||
* https://spring.io/projects/spring-framework | * https://spring.io/projects/spring-framework | ||
* 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/ | * 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 11: | Line 12: | ||
=Overview= | =Overview= | ||
The core Spring Framework is the foundation of everything else in the Spring-based development model. It provides the [[Spring_Dependency_Injection_and_Inversion_of_Control_Container_Concepts#Inversion_of_Control_Container|core container]] and [[Spring_Dependency_Injection_and_Inversion_of_Control_Container_Concepts#Spring_Dependency_Injection_Framework|dependency injection framework]], and many other features such as [[Spring MVC]], data access, integration, etc. | The core Spring Framework is the foundation of everything else in the Spring-based development model. It provides the [[Spring_Dependency_Injection_and_Inversion_of_Control_Container_Concepts#Inversion_of_Control_Container|core container]] and [[Spring_Dependency_Injection_and_Inversion_of_Control_Container_Concepts#Spring_Dependency_Injection_Framework|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= | ||
* [[Spring Framework Concepts]] | * '''Basic Persistence''' | ||
** [[JdbcTemplate]] | |||
* '''Servlet-based Web Application Support''' | |||
** [[Spring MVC]] | |||
** WebSocket, SockJS and STOMP Messaging support | |||
* '''Reactive Web Application Support''' | |||
** [[Spring WebFlux]] | |||
* <span id='Retry'></span>[[Spring Retry]] | |||
* [[Spring Messaging#Overview|Spring Messaging]] | |||
=<span id='Subjects'></span><span id='Spring_Framework_Concept'></span>Spring Framework Core Technologies Concepts= | |||
* [[Spring Dependency Injection and Inversion of Control Container Concepts]] | |||
* [[Spring Property Injection Concepts]] | |||
* <span id='Spring_Framework_Testing'></span>[[Spring Framework Testing Concepts]] | |||
* [[Spring Framework Event Handling]] | |||
* [[Spring MVC Concepts]] | |||
* [[Spring REST Concepts]] | |||
* [[Reactive Support in the Spring Framework]] | |||
* [[Spring Transaction Management]] | |||
* [[Spring Validation 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> | |||
=Spring Framework Dependency Management= | |||
All Spring Framework components are specified by [[Maven_Concepts_-_Dependencies#BOM|Maven BOM]]s, available here: | |||
{{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= | |||
==Spring Framework Core Technologies== | |||
===Events=== | |||
===Resources=== | |||
===Type Conversion=== | |||
===SpEL=== | |||
{{Internal|Spring Expression Language (SpEL)#Overview|Spring Expression Language (SpEL)}} | |||
===Data Binding=== | |||
===AOP=== | |||
==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> | |||
===Transactions=== | |||
===DAO Support=== | |||
===JDBC=== | |||
===ORM=== | |||
===Marshalling XML=== | |||
==Integration== | |||
<FONT COLOR=DARKGRAY>TO PROCESS https://docs.spring.io/spring-framework/docs/current/spring-framework-reference/integration.html#spring-integration</FONT> | |||
===Remoting=== | |||
===JMS=== | |||
===JCA=== | |||
===JMX=== | |||
===Email=== | |||
===Tasks=== | |||
===Scheduling=== | |||
===<span id='Cache_Abstraction'></span>Cache=== | |||
<font color=darkgray>TODO: https://docs.spring.io/spring/docs/current/spring-framework-reference/integration.html#cache, https://spring.io/guides/gs/caching/</font> |
Latest revision as of 02:07, 24 March 2022
External
- https://spring.io/projects/spring-framework
- https://docs.spring.io/spring/docs/5.1.0.RELEASE/spring-framework-reference/
- 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
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
- Basic Persistence
- Servlet-based Web Application Support
- Spring MVC
- WebSocket, SockJS and STOMP Messaging support
- Reactive Web Application Support
Spring Framework Core Technologies Concepts
- Spring Dependency Injection and Inversion of Control Container Concepts
- Spring Property Injection Concepts
- Spring Framework Testing Concepts
- Spring Framework Event Handling
- Spring MVC Concepts
- Spring REST Concepts
- Reactive Support in the Spring Framework
- Spring Transaction Management
- Spring Validation Concepts
- Spring Persistence Concepts
- Spring Logging
- TO PROCESS until all Spring Concepts are depleted: https://docs.spring.io/spring-framework/docs/current/spring-framework-reference/core.html
Spring Framework Dependency Management
All Spring Framework components are specified by Maven BOMs, available here:
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:
Note that Spring Boot has a different dependency mechanism.
TO DISTRIBUTE
Spring Framework Core Technologies
Events
Resources
Type Conversion
SpEL
Data Binding
AOP
Spring Framework Data Access
Transactions
DAO Support
JDBC
ORM
Marshalling XML
Integration
Remoting
JMS
JCA
JMX
Tasks
Scheduling
Cache
TODO: https://docs.spring.io/spring/docs/current/spring-framework-reference/integration.html#cache, https://spring.io/guides/gs/caching/