core模块包含以下内容:
- IoC Container
- AOP
- SpEl(Spring Expression Language)
dao模块包含以下内容:
- Transactions
- DAO Support
- JDBC
- O/R Mapping
- XML Marshalling
web-servlet模块包含以下内容:
- Spring MVC
- RestTemplate
- WebSocket
reactive模块包含以下内容
- Spring WebFlux
- WebClient
- WebSocket
- Spring WebFlux is supported on Tomcat, Jetty, Servlet3.1+ containers, as well as non-Servlet runtimes such as Netty and Undertow
- In Spring MVC (and servlet applications in general), it is assumed that applications can block the current thread, (for example, for remote calls). For this reason, servlet containers use a large thread pool to absorb potential blocking during request handling.
- In Spring WebFlux (and non-blocking servers in general), it is assumed that applications do not block. Therefore, non-blocking servers use a small, fixed-size thread pool (event loop workers) to handle requests.
integration模块包含以下内容:
- JMS
- JCA
- JMX
- Tasks
- Scheduling
- Caching
Spring 提供3种方式的消息队列
- JMS(ActiveMQ / Artemis(是ActiveMQ的改进版))
- AMQP(RabbitMQ)
- Kafka