从本篇博客开始, 我们开始进入 Spring Boot 的世界, 它的出现使 Spring 的开发变得更加简洁, 因此一经推出受到众多程序员的喜爱.
作为 Spring Boot 系列的第一篇博客, 我们先来讲解下如何搭建 Spring Boot 项目.
如果你直接就使用的是 Spring Boot, 建议你有时间可以学习下 Spring, 这样更能体会到 Spring Boot 带来的便利.
Spring 系列博客地址: https://www.cnblogs.com/zwwhnly/category/1407891.html.
1. 搭建 Spring Boot 项目的 2 种方式
1.1 方式 1: 使用官网搭建
首先, 在浏览器中, 输入 https://start.spring.io/ , 会看到如下界面:
从上图可以看出, Project 默认值是 Maven Project,Language 默认值是 Java,Spring Boot 默认版本是 2.1.9, 因为符合我们的需求, 所以这 3 项我们不做修改.
然后填写项目信息, 即 Project Metadata 项, 如下所示:
上图中的 Group, 可理解为组织, 一般为域名反过来, 如果域名是 zwwhnly.com, 这里就填 com.zwwhnly.
Artifact, 可理解为项目名, 比如我这里填写的是 springboot-action.
接着选择依赖项, 比如要添加 web 依赖项, 这里可以按关键字搜索 Web 依赖项, 如下所示:
也可以按分类找到 Web 依赖项, 如下所示:
不管以哪种方式添加, 最终的结果都是下面这样的:
最后, 点击 "Generate" 按钮生成项目代码:
解压后的代码目录如下图所示:
从图中可以看出, 此处生成的其实就是一个简单的基于 Maven 的项目, 你可以使用自己喜欢的开发工具打开该项目, 比如 IntelliJ IDEA.
1.2 方式 2: 使用 IDEA 搭建
首先, 打开开发工具 IntelliJ IDEA, 依次点击菜单 File--New--Project 打开新建项目对话框, 先选中左侧的 "Spring Initializr", 然后选择项目要使用的 JDK 版本, 如 1.8, 点击 "Next" 按钮:
按照下图中的提示填写好项目信息, 打包方式, Java 版本等信息, 点击 "Next" 按钮:
选择项目要使用的依赖项 (如 Spring Web) 以及 Spring Boot 的版本(如 2.1.9), 点击 "Next" 按钮:
确认好项目名称和项目要保存的路径, 点击 "Finish" 按钮, 如果保存的路径不存在, 会提示是否自动创建该目录, 点击 "OK" 即可:
创建好的项目结构图如下所示:
Maven 依赖树如下所示:
2. pom.xml 讲解
默认生成的 pom.xml 文件如下所示:
- <?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-parent</artifactId>
- <version>2.1.9.RELEASE</version>
- <relativePath/> <!-- lookup parent from repository -->
- </parent>
- <groupId>com.zwwhnly</groupId>
- <artifactId>springboot-action</artifactId>
- <version>0.0.1-SNAPSHOT</version>
- <name>springboot-action</name>
- <description>Spring Boot Action Code</description>
- <properties>
- <java.version>1.8</java.version>
- </properties>
- <dependencies>
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-Web</artifactId>
- </dependency>
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-test</artifactId>
- <scope>test</scope>
- </dependency>
- </dependencies>
- <build>
- <plugins>
- <plugin>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-maven-plugin</artifactId>
- </plugin>
- </plugins>
- </build>
- </project>
关于 pom.xml 的整个讲解, 可以参考我之前写的博客: Spring 入门(四): 使用 Maven 管理 Spring 项目 , 这里我们只讲解下该文件和之前不同的地方.
- <parent>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-parent</artifactId>
- <version>2.1.9.RELEASE</version>
- <relativePath/> <!-- lookup parent from repository -->
- </parent>
- <dependency>
- <groupId>com.rabbitmq</groupId>
- <artifactId>amqp-client</artifactId>
- </dependency>
- <properties>
- <rabbit-amqp-client.version>5.4.3</rabbit-amqp-client.version>
- </properties>
- <dependencies>
- <dependency>
- <groupId>com.rabbitmq</groupId>
- <artifactId>amqp-client</artifactId>
- <version>${rabbit-amqp-client.version}</version>
- </dependency>
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-Web</artifactId>
- <version>2.1.9.RELEASE</version>
- </dependency>
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-test</artifactId>
- <version>2.1.9.RELEASE</version>
- </dependency>
- </dependencies>
- <dependency>
- <groupId>com.rabbitmq</groupId>
- <artifactId>amqp-client</artifactId>
- <version>5.7.0</version>
- </dependency>
- <build>
- <plugins>
- <plugin>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-maven-plugin</artifactId>
- </plugin>
- </plugins>
- </build>
- <plugin>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-maven-plugin</artifactId>
- <version>2.1.9.RELEASE</version>
- </plugin>
- package com.zwwhnly.springbootaction;
- import org.springframework.boot.SpringApplication;
- import org.springframework.boot.autoconfigure.SpringBootApplication;
- @SpringBootApplication
- public class SpringbootActionApplication {
- public static void main(String[] args) {
- SpringApplication.run(SpringbootActionApplication.class, args);
- }
- }
- package com.zwwhnly.springbootaction;
- import org.springframework.boot.SpringApplication;
- import org.springframework.boot.autoconfigure.SpringBootApplication;
- import org.springframework.Web.bind.annotation.RequestMapping;
- import org.springframework.Web.bind.annotation.RestController;
- @RestController
- @SpringBootApplication
- public class SpringbootActionApplication {
- @RequestMapping("/")
- public String index() {
- return "Hello Spring Boot";
- }
- public static void main(String[] args) {
- SpringApplication.run(SpringbootActionApplication.class, args);
- }
- }
- public static void main(String[] args) {
- SpringApplication.run(SpringbootActionApplication.class, args);
- }
- public static void main(String[] args) {
- //SpringApplication.run(SpringbootActionApplication.class, args);
- SpringApplication springApplication = new SpringApplication(SpringbootActionApplication.class);
- springApplication.setBannerMode(Banner.Mode.OFF);
- springApplication.run(args);
- }
来源: https://www.cnblogs.com/zwwhnly/p/11736287.html