在 Java Web 开发中,Spring 框架是一个非常强大且广泛使用的框架。它提供了丰富的功能,如依赖注入、面向切面编程等,能够帮助开发者更高效地构建企业级应用。而 Maven 和 Gradle 是 Java 项目中常用的构建工具,它们可以帮助我们管理项目的依赖、编译、打包等任务。本文将详细介绍如何使用 Maven 和 Gradle 来创建 Spring Web 项目。
在开始创建项目之前,我们需要确保以下环境已经安装并配置好:
JAVA_HOME 环境变量。MAVEN_HOME 环境变量,并将 %MAVEN_HOME%\bin 添加到系统的 PATH 环境变量中。GRADLE_HOME 环境变量,并将 %GRADLE_HOME%\bin 添加到系统的 PATH 环境变量中。File -> New -> Project。Maven,确保右侧的 Create from archetype 选项被勾选。org.apache.maven.archetypes:maven-archetype-webapp 作为项目原型,点击 Next。GroupId、ArtifactId 和 Version 等信息,点击 Next。Settings.xml 文件路径和本地仓库路径,点击 Next。Finish。打开项目中的 pom.xml 文件,添加以下 Spring 相关的依赖:
<dependencies><!-- Spring Web --><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>5.3.18</version></dependency><!-- Servlet API --><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>4.0.1</version><scope>provided</scope></dependency></dependencies>
在 src/main/webapp/WEB-INF 目录下创建 spring-servlet.xml 文件,添加以下配置:
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context"xmlns:mvc="http://www.springframework.org/schema/mvc"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context.xsdhttp://www.springframework.org/schema/mvchttp://www.springframework.org/schema/mvc/spring-mvc.xsd"><!-- 开启注解扫描 --><context:component-scan base-package="com.example.controller"/><!-- 开启 Spring MVC 注解驱动 --><mvc:annotation-driven/><!-- 视图解析器 --><bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="prefix" value="/WEB-INF/views/"/><property name="suffix" value=".jsp"/></bean></beans>
在 src/main/webapp/WEB-INF 目录下创建 web.xml 文件,添加以下配置:
<?xml version="1.0" encoding="UTF-8"?><web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaeehttp://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"version="4.0"><!-- Spring MVC 前端控制器 --><servlet><servlet-name>spring</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><init-param><param-name>contextConfigLocation</param-name><param-value>/WEB-INF/spring-servlet.xml</param-value></init-param><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>spring</servlet-name><url-pattern>/</url-pattern></servlet-mapping></web-app>
src/main/java 目录下创建 com.example.controller 包,并在该包下创建 HelloController.java 文件:import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
public class HelloController {
@RequestMapping("/hello")@ResponseBodypublic String hello() {return "Hello, Spring Web!";}
}
2. 在 `src/main/webapp/WEB-INF` 目录下创建 `views` 目录,并在该目录下创建 `hello.jsp` 文件:```jsp<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html><html><head><meta charset="UTF-8"><title>Hello Spring</title></head><body><h1>Hello, Spring Web!</h1></body></html>
在 IntelliJ IDEA 中,点击 Run -> Edit Configurations,添加一个 Tomcat Server 配置,将项目部署到 Tomcat 服务器上,然后启动服务器。在浏览器中访问 http://localhost:8080/hello,即可看到 Hello, Spring Web! 的输出。
File -> New -> Project。Gradle,选择 Java 作为项目语言,点击 Next。GroupId、ArtifactId 和 Version 等信息,点击 Next。Next。Finish。打开项目中的 build.gradle 文件,添加以下 Spring 相关的依赖:
plugins {id 'org.springframework.boot' version '2.6.7'id 'io.spring.dependency-management' version '1.0.11.RELEASE'id 'war'}group = 'com.example'version = '0.0.1-SNAPSHOT'sourceCompatibility = '1.8'repositories {mavenCentral()}dependencies {implementation 'org.springframework.boot:spring-boot-starter-web'providedRuntime 'org.springframework.boot:spring-boot-starter-tomcat'testImplementation 'org.springframework.boot:spring-boot-starter-test'}test {useJUnitPlatform()}
在 src/main/java 目录下创建 com.example 包,并在该包下创建 DemoApplication.java 文件:
package com.example;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplicationpublic class DemoApplication {public static void main(String[] args) {SpringApplication.run(DemoApplication.class, args);}}
在 src/main/java/com.example 包下创建 controller 子包,并在该包下创建 HelloController.java 文件:
package com.example.controller;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.RestController;@RestControllerpublic class HelloController {@GetMapping("/hello")public String hello() {return "Hello, Spring Boot!";}}
在 IntelliJ IDEA 中,右键点击 DemoApplication.java 文件,选择 Run 'DemoApplication.main()',启动 Spring Boot 应用程序。在浏览器中访问 http://localhost:8080/hello,即可看到 Hello, Spring Boot! 的输出。
| 比较项 | Maven | Gradle |
|---|---|---|
| 配置文件格式 | XML | Groovy 或 Kotlin DSL |
| 依赖管理 | 声明式,通过 <dependency> 标签 |
更灵活,支持动态版本、排除依赖等 |
| 构建速度 | 相对较慢,尤其是大型项目 | 较快,支持增量构建 |
| 学习成本 | 容易上手,XML 格式直观 | 相对较高,需要学习 Groovy 或 Kotlin |
本文详细介绍了使用 Maven 和 Gradle 创建 Spring Web 项目的步骤,包括环境准备、项目创建、依赖添加、配置文件编写等。Maven 和 Gradle 各有优缺点,开发者可以根据项目的规模和个人喜好选择合适的构建工具。希望本文能够帮助你快速搭建 Spring Web 开发环境,开启 Java Web 开发之旅。