第一个Spring项目

在对 Spring 框架有基本的了解之后,下面我们将为您详细讲解如何使用 IntelliJ IDEA 创建一个 Spring 项目。

配置开发环境

想要创建一个 Spring 项目,首先我们必须先配置好开发环境。具体的开发环境配置,如下表。

Spring  6.0.5
JDK 版本 17+
Maven 3.6+
IntelliJ IDEA IntelliJ IDEA 2022.x

浏览器访问 IntelliJ IDEA 官方下载页面,下载并安装 IntelliJ IDEA。

创建 Spring 项目

开发环境配置完成后,接下来我们就可以通过 Intellij IDEA 创建一个 Spring 项目了。

1. 创建 Maven 父工程

首先,我们先创建一个 Maven 父工程,并通过它来管理我们在本教程中所创建的所有 Spring 项目,具体步骤如下。

1) 在 IntelliJ IDEA 中单击左上角的 File 菜单,然后依次选择 New -> Project -> New Project,并在 New Project 窗口完善 Maven 父工程的 Name(名称)、Location(位置)、Language(编程语言)、Build system(构建方式)、JDK 以及 GroupId 和 ArtifactId 等信息,如下图。

Maven f父工程
图1:创建 Maven 父工程

2) Maven 父工程 spring-parent-project 创建完成后,其目录结构如下图。

Manven 父工程结构
图2:Maven 父工程结构

作为 Maven 父工程,spring-parent-project 中并不会包含任何的 Java 代码,因此我们可以将该工程下的 src 目录直接删除,让项目结构更加清晰整洁。当然如果不删除,也并不会造成任何影响。

2. 创建子模块

在完成了 Maven 父工程的创建之后,接下来我们就可以在该父工程(spring-parent-project)中创建 Spring 项目了,该 Spring 项目是作为 spring-parent-project 中的一个子模块而存在的。

1) 右键点击 Maven 主工程 spring-parent-project,然后在弹出的菜单中依次选择 New -> Module...,如下图。

右键主工程创建子模块
图3:创建子模块

2) 在 New Module 窗口的右侧分别完善 Spring 项目的 Name(子模块名称)、Location(位置)、Language(编程语言)、Build system(构建方式)、JDK 以及 GroupId 和 ArtifactId 等信息,最后点击下方的“Create”完成创建,如下图。


图4:创建 my-first-spring-demo

3) 子模块 my-first-spring-demo 创建完成之后,整个工程的目录结构如下。

整个工程结构
图5:整个工程的目录结构

3. 引入依赖

在完成了 Maven 父工程以及第一个子模块的创建之后,接下来我们可以将 Spring 的依赖引入到 my-first-spring-demo 中了,使之成为一个 Spring 项目。

1) 在 my-first-spring-demo 的 pom.xml 中将 Spring 所需的依赖引入到该模块之中,具体配置内容如下。
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <!--父工程-->
    <parent>
        <groupId>net.biancheng.c</groupId>
        <artifactId>spring-parent-project</artifactId>
        <version>1.0-SNAPSHOT</version>
    </parent>

    <artifactId>my-first-spring-demo</artifactId>
    <!--各种属性-->
    <properties>
        <maven.compiler.source>17</maven.compiler.source>
        <maven.compiler.target>17</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

    <!--添加依赖-->
    <dependencies>
        <!--spring-context 依赖:Spring 的基础依赖-->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>6.0.5</version>
        </dependency>

        <!--引入 junit 依赖,方便我们进行测试-->
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-api</artifactId>
            <version>5.9.1</version>
        </dependency>
    </dependencies>
</project>

3) 如果我们第一次将上面的依赖引入到模块中时,Maven 会自动联网去下载依赖包。下载完成后,点击  IntelliJ IDEA 最右侧的 Maven 选项,此时其左侧会弹出一个 Maven 弹窗,在这里我们可以看到子模块 my-first-spring-demo 的依赖(Dependencies),如下图。


图6:查看依赖项

4. 创建 Java 类

在 my-first-spring-demo 的 src/main/java 目录下,创建一个名为 "net.biancheng.c.bean" 的包。然后在这个包中创建一个名为 User 的 Java 类,代码如下。
package net.biancheng.c.bean;

public class Student {
    public void study() {
        System.out.println("学生正在努力学习...");
    }
}

5. 创建配置文件

在 my-first-spring-demo 的 src/main/resources 目录下,创建一个名为 bean.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"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">

    <bean id="student" class="net.biancheng.c.bean.Student"></bean>
</beans>

6. 测试

1) 在 my-first-spring-demo 的 src/test/java 目录中,新建一个名为 StudentTest 的 Java 类,代码如下。
import net.biancheng.c.bean.Student;
import org.junit.jupiter.api.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class StudentTest {
    @Test
    public void testStudent() {
        ApplicationContext context = new ClassPathXmlApplicationContext("bean.xml");
        Student student = (Student) context.getBean("student");
        student.study();
    }
}

2) 在 StudentTest 类中右键,然后选择“Run 'testStudent'”执行 testStudent() 方法,控制台输出内容如下。
学生正在努力学习...

在本案例中,我们全程都并未使用 new Student() 的方式创建过 Student 对象,但我们仍然得到了一个 Student 对象并且成功的调用了它的 study() 方法。这是为什么呢?答案很明显,那就是这个 Student 对象是 Spirng 框架为我们创建的。

声明:《Spring系列教程》为本站“54笨鸟”官方原创,由国家机构和地方版权局所签发的权威证书所保护。