Spring的组成
Spring由20个核心依赖组成,这20个核心依赖可以分为6个核心模块
Spring Web模块简介
众所周知,Java目前最大的一个用途就是作为Web应用的服务端(Java Web)
Spring又是JavaEE中使用最广泛的开发框架,所以Spring的Web模块的重要性,不言而喻
Spring Web模块是Spring框架的重要组成部分,主要用于构建基于HTTP协议的Web应用程序,尤其是RESTful服务。它提供了对Web开发的支持,包括处理HTTP请求、响应、会话管理等,是开发现代Web应用和服务的核心模块之一。
Spring Web是对Spring Web之前的Web开发(Tomcat的ServletWeb应用+jquery)的一种增强,其本质依然是以Servlet为核心的Web应用
Spring Web模块的jar包组成以及简介
1. spring-web.jar:
作用:这是Spring Web模块的核心库,提供了处理HTTP请求、响应的基本功能,支持MVC架构和视图解析。
主要功能:包括Spring MVC框架、控制器类、请求映射注解(如@RequestMapping)、视图解析器等。
2. spring-webmvc.jar:
作用:这是Spring Web的MVC实现库,专门为Web应用提供了MVC架构的完整实现。
主要功能:实现了控制器、模型、视图等MVC的核心组件,提供了视图解析(如JSP、Thymeleaf)、请求处理和会话管理等功能。
3. spring-webflux.jar(可选):
作用:这是Spring 5之后引入的响应式Web框架,支持非阻塞式的响应式编程模型,适合高并发应用。
主要功能:提供了基于Reactor库的响应式Web应用开发,支持WebFlux框架的API。
组成jar包的详细介绍
spring-web介绍
pom文件依赖分析
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>5.0.2.RELEASE</version>
<name>Spring Web</name>
<description>Spring Web</description>
<url>https://github.com/spring-projects/spring-framework</url>
<organization>
<name>Spring IO</name>
<url>http://projects.spring.io/spring-framework</url>
</organization>
<licenses>
<license>
<name>Apache License, Version 2.0</name>
<url>http://www.apache.org/licenses/LICENSE-2.0</url>
<distribution>repo</distribution>
</license>
</licenses>
<developers>
<developer>
<id>jhoeller</id>
<name>Juergen Hoeller</name>
<email>jhoeller@pivotal.io</email>
</developer>
</developers>
<scm>
<connection>scm:git:git://github.com/spring-projects/spring-framework</connection>
<developerConnection>scm:git:git://github.com/spring-projects/spring-framework</developerConnection>
<url>https://github.com/spring-projects/spring-framework</url>
</scm>
<issueManagement>
<system>Jira</system>
<url>https://jira.springsource.org/browse/SPR</url>
</issueManagement>
<dependencies>
<dependency>
<groupId>com.caucho</groupId>
<artifactId>hessian</artifactId>
<version>4.0.51</version>
<scope>compile</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.2</version>
<scope>compile</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-cbor</artifactId>
<version>2.9.2</version>
<scope>compile</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-smile</artifactId>
<version>2.9.2</version>
<scope>compile</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-xml</artifactId>