学科分类
目录
Spring Boot开发

使用Maven方式构建Spring Boot项目

准备好项目运行所需的环境后,可以使用IDEA开发工具搭建一个Spring Boot入门程序了。我们既可以使用Maven方式构建项目,也可以使用Spring Initializr快捷方式构建项目。这里,先介绍如何使用Maven方式构建Spring Boot项目,具体步骤如下。

1.初始化IDEA配置

如果是初次下载安装IDEA工具或者未打开任何项目,会先进入IDEA欢迎页,具体如图1所示。

图1 IDEA欢迎页

为了避免后续每个项目都要配置Maven和JDK,这里我们在IDEA中统一配置Mavan和JDK,具体方式如下。

(1)Maven初始化设置

打开IDEA进入欢迎页,单击页面右下角的【Configure】→【Project Defaults】→【Settings】选项进入默认项目设置页面,在左侧搜索“Maven”关键字找到Maven设置选项,在右侧对应的设置界面中进行初始化设置,具体如图2所示。

图2 Maven初始化设置

如图2所示,在Maven设置界面对Maven安装目录(Maven home directory)、Maven的settings配置文件(User Settings file)和Maven本地仓库地址(Local repository)进行了设置。当然,读者可以根据自己的情况配置Maven选项,配置完成后,单击【Apply】—>【OK】按钮即可完成Maven的初始化设置。

(2)JDK初始化设置

在IDEA欢迎页面,单击【Configure】→【Project Defaults】→【Project Structure】选项进入Project Structure设置页面,在界面左侧选择【Project Settings】→【Project】选项,在打开的右侧页面中对JDK初始化设置,具体如图3所示。

图3 JDK初始化设置

在图3中,可以通过单击右侧页面的【New】按钮选择自定义安装的JDK路径,设置完成后,单击【Apply】—>【OK】按钮完成JDK的初始化配置。

2.创建Maven项目

在IDEA欢迎页面,单击图1-1所示的【Create New Project】按钮创建项目,具体如图4所示。

图4 项目类型选择设置

在图4中,左侧罗列的是可以选择创建的项目类型,包括Spring项目、Androdid项目、Spring Initializr项目(即Spring Boot项目)、Maven项目等,右侧是不同类型项目对应的设置界面。这里,左侧选择【Maven】选项,右侧选择当前项目的JDK(上一步预先设置的JDK环境),单击【Next】按钮进入填写项目标识的页面,具体如图5所示。

图5 Maven项目创建

在图中,GroupId表示组织ID,一般分为两个字段,包括域名和公司名;ArtifactId表示项目唯一标识符,一般是项目名称;Version表示项目版本号。此处,将GroupId设置为com.itheima,ArtifactId设置为manual_chapter01,并使用默认生成的版本号。单击【Next】按钮进入填写项目名称和路径的页面,具体如图6所示。

图6 项目创建图

在图6中,Project name用于指定项目名称,在上一步中定义的ArtifactId会默认作为项目名;Project location用于指定项目的存储路径,默认会存放在C盘下。此处,我们使用上一步设置的manual_chapter01作为项目名称,存放路径可以单击右侧的【…】按钮修改。项目名称和存放路径设置好之后,单击【Finish】按钮完成项目的创建。

项目创建完成后,会默认打开创建Maven项目生成的pom.xml依赖文件,同时在右下角会弹出“Maven projects need to be imported(需要导入Maven依赖)”的提示框,具体如图7所示。

图7 Maven项目构建效果图

在图7中,“Maven projects need to be imported”提示框有两个选项:“Import Changes”表示导入版本变化,只会导入本次变化的依赖;“Enable Auto-Import”表示开启自动导入,后期会持续监测并自动导入变化的依赖。这里选择“Enable Auto-Import”选项,自动导入pom.xml文件中依赖文件的变化。

至此,使用IDEA开发工具进行Maven项目的初始化搭建已经完成,但是该项目目前只是一个空的Maven项目,要构建Spring Boot项目,还需要额外进行一些工作。

3.添加Spring Boot相关依赖

打开manual_chapter01项目下的pom.xml文件,在该pom.xml文件中添加构建Spring Boot项目和Web场景开发对应的依赖,示例代码如下。

<!-- 引入Spring Boot依赖 -->
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.1.3.RELEASE</version>
</parent>
<dependencies>
    <!-- 引入Web场景依赖启动器 -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
</dependencies>

上述代码中,<parent>标签中添加的spring-boot-starter-parent依赖是Spring Boot框架集成项目的统一父类管理依赖,添加该依赖后就可以使用Spring Boot的相关特性;<version>标签指定Spring Boot的版本号是2.1.3.RELEASE;<dependencies>标签中添加的spring-boot-starter-web依赖是Spring Boot框架对Web开发场景集成支持的依赖启动器,添加该依赖后就可以自动导入Spring MVC框架相关依赖进行Web开发。

小提示:

在项目pom.xml文件中导入新依赖或修改其他内容后,如果参考前面介绍的选择勾选了“Enable Auto-Import”选项,通常会自动更新而无需手动管理。但有些情况下,依赖文件可能还是无法自动加载,这时候就需要重新手动导入依赖文件,具体操作方法为:右键单击项目名—>Maven—>Reimport进行依赖重新导入即可。

4.编写主程序启动类

在manual_chapter01项目的java目录下创建一个名称为com.itheima的包,在该包下新建一个主程序启动类ManualChapter01Application,内容如文件1所示。

文件1 ManualChapter01Application.java

 1    import org.springframework.boot.SpringApplication;
 2    import org.springframework.boot.autoconfigure.SpringBootApplication;
 3    @SpringBootApplication  // 标记该类为主程序启动类
 4    public class ManualChapter01Application {
 5        // 主程序启动方法
 6        public static void main(String[] args){
 7            SpringApplication.run(ManualChapter01Application.class,args);
 8        }
 9    }

文件1中,第3行代码中的@SpringBootApplication注解是Spring Boot框架的核心注解,该注解用于表明ManualChapter01Application类是Spring Boot项目的主程序启动类。第7行代码调用SpringApplication.run()方法启动主程序类。

5.创建一个用于Web访问的Controller

在com.itheima包下创建名称为controller的包,在该包下创建一个名称为HelloController的请求处理控制类,并编写一个请求处理方法,内容如文件1-2所示。

文件2 HelloController.java

 1    import org.springframework.web.bind.annotation.GetMapping;
 2    import org.springframework.web.bind.annotation.RestController;
 3    @RestController     // 该注解为组合注解,等同于Spring中@Controller+@ResponseBody注解
 4    public class HelloController {
 5       @GetMapping("/hello")//该注解等同于Spring框架中@RequestMapping(RequestMethod.GET)注解
 6        public String hello(){
 7            return "hello Spring Boot";
 8        }
 9    }

文件2中,请求处理控制类HelloController和请求处理方法hello()上都使用了注解,其中:

●@RestController注解是一个组合注解,包含@Controller和@ResponseBody两个注解,主要作用是将当前类作为控制层的组件添加到Spring容器中,同时该类中所有方法的返回值不是以页面视图名而是以JSON格式对象的形式返回;

●@GetMapping注解等同于@RequestMapping(method=RequestMethod.GET)注解,主要作用是设置方法的访问路径并限定其访问方式为Get。文件2中,hello()方法的请求处理路径为“/hello”,并且方法的返回值是一个“hello Spring Boot”的字符串对象。

6.运行项目

运行主程序启动类ManualChapter01Application,项目启动成功后,在控制台上会发现Spring Boot项目默认启动的端口号为8080,此时,可以在浏览器上访问“http://localhost:8080/hello”,具体如图8所示。

图8 程序测试效果

从图8可以看出,页面输出的内容是“hello Spring Boot”,至此,一个简单的Spring Boot项目就完成了。

点击此处
隐藏目录