SpringBoot从零开始demo

参考文档: spring-boot/docs/2.7.5/reference/htmlsingle/#getting-started.first-application

环境要求

  • Java(版本在8-19)
  • Maven

查看java版本   java -version

查看maven版本   mvn -v

 主要步骤

  1. 编写pom文件
    1. 空pom文件
    2. 引入 springboot parent 依赖
  2. 编写启动类
    1. spring boot应用注解
    2. 控制器注解
    3. main启动方法
  3. 应用运行
  4. 打包jar包

是的,太神奇了,只要创建两个文件,就可以启动一个最简单的springboot web 应用。让我们来逐步分析,需要了解在这个过程中。

编写pom.xml 文件

pom.xml 是 maven 构建项目的核心配置文件。我们首先在要给空目录中,编辑以下内容,保存命名为 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>

    <groupId>com.example</groupId>
    <artifactId>myproject</artifactId>
    <version>0.0.1-SNAPSHOT</version>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.7.5</version>
    </parent>

    <!-- Additional lines to be added here... -->

</project>

上述内容中,保留了最基础的内容。第一是pom文件的 xml 命名空间,第二,是当前项目的描述,groupId、组件名和版本号;第三,是本次依赖的 spring-boot 的父依赖,版本是 2.7.5。

此时,可以通过 mvn package 对项目进行打包,同时下载所需的各项依赖文件。

当然,此时项目是一个空项目。

通过 mvn dependency:tree 命令,可以看到项目的依赖结构。(此时为空)

⭐其中,spring-boot-starter-parent 通过 dependency-management  依赖管理 的特性,可以帮助我们在导入 springboot的生态组件时,而无需指定版本号。

💡此次demo的目标是构建一个 web 应用,所以还应该导入 web 相关的springboot依赖。

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
</dependencies>

spring-boot-starter-web 中包含了 spring mvc 中的一些重要依赖。
此时,通过 mvn dependency:tree 可以看到项目中新的依赖结构。

编写应用代码

接下写唯一的一份代码。首先在项目目录下,创建 src/main/java 三个层级的目录,然后再创建 MyApplication.java 文件,完整的路径为 src/main/java/MyApplication.java ,内容如下。

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@EnableAutoConfiguration
public class MyApplication {

    @RequestMapping("/")
    String home() {
        return "Hello World!";
    }

    public static void main(String[] args) {
        SpringApplication.run(MyApplication.class, args);
    }

}

这份代码中,分三个部分来看,第一是 springboot 应用的功能开启,第二个部分是启动类的引导方法,第三部分是 spring mvc 的方法。

第一,@EnableAutoConfiguration 配置开启了 springboot 自动配置 的能力,可以根据根据用户导入的依赖,自行完成最低可运行的配置。

第二,@RestController 和 @RequestMapping("/") 是属于 spring mvc 的注释,前者标明这个类是一个 spring bean,同时配置所有控制器方法以字符串形式返回。后者配置特定请求路径的方法,是路径映射处理方法,这里对于根请求,将返回 hello world 字符串。

第三,main方法是一个启动方法,springboot可以通过启动类的入口方法,而无需通过 war 的方法部署运行。进一步,springboot 应用可以通过 jar 包的方式部署,因为其内置web服务器

运行应用

通过以上两个文件,一个最小的springboot应用就完成了。接下来,我们可以通过以下方式启动。

第一,直接通过 main 方法启动。

第二,通过 mvn spring-boot:run 命令启动。

第三,借助 spring-boot-maven-plugin 插件,通过 mvn package 将 应用打包成可独立运行的 jar 包。依赖如下。

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

第四,在pom文件中,设置打包方式为 war 包,然后部署到 web服务器中,这里不展开。

通过以上两个文件,我们实践了最简单的一个springboot 的web 应用,同时介绍了 springboot的依赖管理、自动配置和内置服务器的三个重要特性。

hhh,梳理了一下,感觉印象加深了呢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值