在 IDEA 使用 Gradle 搭建 SpringMVC 项目配置

发表于 2023-03-04

IDEA 使用 Gradle 创建项目

随着 Spring 源码的学习,也逐渐熟悉 Gradle 的使用。

我在学习到 SpringMVC 的源码时,需要搭建学习用的 Demo 项目,我决定在 IDEA 使用 Gradle 搭建项目并配置。

创建 Gradle Web 项目

在 IDEA 工具选择 New ---> Project 或者 New ---> Module,进入 IDEA 创建项目(模块)的面板。 创建项目

选择构建工具 Gradle,勾选 Java 和 Web,就能自动引入相关 Gradle 插件。 勾选插件

项目结构设置说明

目录结构

使用 Gradle 构建的 Web 项目会多出一个 webapp 目录。 目录结构

IDEA 项目结构配置 Project Structure

项目的目录结构在 IDEA 的 Project Structure 配置中都可以配置指定。 目录结构

Gradle 配置

build.gradle 文件

// 配置插件
plugins {
    id 'java' // java 项目
    id 'war'  // web 项目
}
group 'org.example'
version '1.0-SNAPSHOT'
repositories {
    mavenCentral()
}
dependencies {
    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.8.1'
    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.8.1'
    // 我这里使用的时源码,所以直接引入 SpringMVC 项目
    compile(project(":spring-webmvc"))
}
test {
    useJUnitPlatform()
}

配置文件

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xmlns="http://java.sun.com/xml/ns/javaee"
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
         id="WebApp_ID" version="3.0">
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <!-- 指定 SpringMVC 配置 -->
        <param-value>classpath:spring-mvc.xml</param-value>
    </context-param>
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
    <!-- 配置 SpringMVC 核心 servlet -->
    <servlet>
        <servlet-name>spring-mvc</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <!-- 指定 SpringMVC 配置 -->
            <param-value>classpath:spring-mvc.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>spring-mvc</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>
</web-app>

springmvc.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:mvc="http://www.springframework.org/schema/mvc"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/mvc
                        http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd
                        http://www.springframework.org/schema/beans
                        http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
                        http://www.springframework.org/schema/context
                          http://www.springframework.org/schema/context/spring-context-4.0.xsd">
    <!-- 配置注解驱动:识别注解标志 -->
    <mvc:annotation-driven/>
    <!-- 配置包扫描 -->
    <context:component-scan base-package="com.devnolo.demo.spring.mvc"/>
    <!-- 内部资源视图解析器 -->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/jsp/"/>
        <property name="suffix" value=".jsp"/>
    </bean>
</beans>

配置 IDEA 启动器

选择新增启动配置,选择 Tomcat,选择本机安装 Tomcat 的服务。

选择项目部署 Deployment 配置需要部署的项目(模块)。 目录结构

如果在选择项目(模块)时没有 Artifacts 可以选择,可以在 Project Structure 配置 Artifacts 目录结构