当前位置: 首页 > news >正文

带你搭一下你的第一个SpringBoot项目

文章目录

  • 第一个SpringBoot项目
    • maven创建SpringBoot工程
      • 导入依赖
      • 创建启动类
      • 启动springBoot
      • 打包部署
    • 引导器快速创建
    • 官网下载

看到大家整理、讲解Springboot的时候,都是已“搭建第一个项目”为开始,俺也来凑凑热闹,好像我还真没总结过,话不多说,开打开打

第一个SpringBoot项目

maven创建SpringBoot工程

首先打开IDEA,新建项目
在这里插入图片描述

选择maven,直接next
在这里插入图片描述

点击next,填写相应信息:
在这里插入图片描述
点击finish

导入依赖

<!--    导入springboot版本和框架依赖     -->
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.6.3</version>
<relativePath></relativePath>
</parent>
<!--    导入动态web场景启动器    -->
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
</dependencies>
<!--添加maven插件,项目的打包工具,打成jar包,否则在打包运行时报错   -->
<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

在这里插入图片描述

创建启动类

创建包com.yyl,在包下创建启动类
在这里插入图片描述

创建启动类

package com.yyl;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

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

创建controller

创建com.yyl.controller包,在包下创建controller类

package com.yyl.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
public class QuickStartController {

    @RequestMapping("/hello")
    @ResponseBody
    public String hello(){
        return "Hello Spring Boot!";
    }
}

启动springBoot

运行启动类的main方法

在这里插入图片描述
看到控制台打印启动成功信息:
在这里插入图片描述

启动成功,端口号8080

我们访问controller
在这里插入图片描述
在resources下创建配置文件,application.properties,springboot启动以后,默认读取该配置文件。配置端口号与contextpath(路径前缀)

在这里插入图片描述
我们再访问8080就不行了:

在这里插入图片描述
因为端口换到8081了,那么我们换8081,我们发现虽然能访问到服务器,但是服务器没有对应的请求处理,前端报了404

在这里插入图片描述
这是因为我们设置了请求前缀,在/hello前加上/first就OK了

在这里插入图片描述

打包部署

Springboot工程被打包成jar包,通过package命令打成jar包。

在这里插入图片描述

将当前的工程打成jar包,看到BUILD SUCCESS就是打包成功了,jar包放在了target下面。
在这里插入图片描述
如下jar包位置
在这里插入图片描述
我们可以在文件管理器中查看

在这里插入图片描述
如下:
在这里插入图片描述
我们可以在当前的路径下打开cmd窗口,运行jar包:

运行格式如下:

java -jar jar包名称

在这里插入图片描述
我们再访问浏览器,也是没问题的
在这里插入图片描述

以上就是使用maven快速搭建我们的Springboot项目,下面讲解使用引导器与官网下载

引导器快速创建

创建project,选择Spring Initliazer,点击next:

PS:如果点击下一步连接失败,可以使用Custom:阿里的镜像服务,选择Custom填入下面网址:https://start.aliyun.com

在这里插入图片描述
填写group和Artifact,确定打包方式,jdk版本,和package表示的启动类所在的包名,点击next。

在这里插入图片描述
选择依赖:创建web工程,只要选择web依赖即可,选择springboot版本,选择当前稳定版本。点击next。
在这里插入图片描述
确定module信息以后,点击finish

在这里插入图片描述
创建工程以后,查看工程的目录结构:
在这里插入图片描述
它给我们自动创建了包:com.yyl,并在包下创建了启动类和测试类。
同时在resources下创建了static,templates和springboot的主配置文件application.properties,在启动类启动时,会自动读取主配置文件中的数据。
Springboot内部集成了tomcat,默认端口号8080,可以在主配置文件中指定端口号:

在application.properties中添加如下代码:

# 指定端口号
server.port=8081
# 指定请求前缀
server.servlet.context-path=/second

在pom.xml中导入了parent,web依赖和单元测试,以及打包工具。

高版本一般创建项目就会有,低版本我们需要手动加一下
在这里插入图片描述

<?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.7.3</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.yyl</groupId>
    <artifactId>first-demo</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>first-demo</name>
    <description>Demo project for Spring Boot</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>

启动springboot:此时端口号为8081。

在这里插入图片描述

官网下载

我们进入其官网,https://start.spring.io/

填好信息,然后create就能下载一个完整的Springboot项目的压缩包,解压拿IDEA打开就可以了
在这里插入图片描述

相关文章:

  • Vue项目实战——【基于 Vue3.x + Vant UI】实现一个多功能记账本(项目演示、涉及知识点、源码分享)
  • Elasticsearch - Elasticsearch集群Cluster(三)
  • 【云原生 · Kubernetes】部署 kube-proxy 组件
  • 腾讯99公益日-券券松鼠❤
  • Vue动态路由配置
  • 基于小波变换的EMG信号病人数据matlab仿真分析
  • 接口的详解
  • 52.【Java 数据结构——线性表】
  • 离子液体[C7MIm]TfS 1-庚基-3-甲基咪唑三氟甲磺酸盐 齐岳bio
  • 人脸识别9-FastDeploy人脸检测、识别、部署
  • 【Unity】Unity常用类:向量Vector3、四元数Quaternion
  • 《MongoDB入门教程》第12篇 查询结果排序
  • 最新版SpringBoot整合Mybatis,实现增删改查(CRUD)
  • Nacos的API居然存在这么严重的漏洞
  • PTA初级题目练习
  • 【node学习】协程
  • 【译】理解JavaScript:new 关键字
  • 【跃迁之路】【585天】程序员高效学习方法论探索系列(实验阶段342-2018.09.13)...
  • AngularJS指令开发(1)——参数详解
  • CSS选择器——伪元素选择器之处理父元素高度及外边距溢出
  • Java精华积累:初学者都应该搞懂的问题
  • JS正则表达式精简教程(JavaScript RegExp 对象)
  • mockjs让前端开发独立于后端
  • python3 使用 asyncio 代替线程
  • seaborn 安装成功 + ImportError: DLL load failed: 找不到指定的模块 问题解决
  • Vue.js-Day01
  • 不用申请服务号就可以开发微信支付/支付宝/QQ钱包支付!附:直接可用的代码+demo...
  • 从0实现一个tiny react(三)生命周期
  • 飞驰在Mesos的涡轮引擎上
  • 基于Android乐音识别(2)
  • 力扣(LeetCode)965
  • 如何选择开源的机器学习框架?
  • 世界编程语言排行榜2008年06月(ActionScript 挺进20强)
  • [Shell 脚本] 备份网站文件至OSS服务(纯shell脚本无sdk) ...
  • ​LeetCode解法汇总2304. 网格中的最小路径代价
  • ​LeetCode解法汇总518. 零钱兑换 II
  • ​虚拟化系列介绍(十)
  • #pragma once
  • #QT(一种朴素的计算器实现方法)
  • (1)SpringCloud 整合Python
  • (175)FPGA门控时钟技术
  • (2022版)一套教程搞定k8s安装到实战 | RBAC
  • (23)Linux的软硬连接
  • (C++17) std算法之执行策略 execution
  • (附源码)springboot掌上博客系统 毕业设计063131
  • (附源码)计算机毕业设计SSM疫情居家隔离服务系统
  • (七)c52学习之旅-中断
  • (亲测)设​置​m​y​e​c​l​i​p​s​e​打​开​默​认​工​作​空​间...
  • (区间dp) (经典例题) 石子合并
  • (算法)求1到1亿间的质数或素数
  • .NET Core 项目指定SDK版本
  • .net core使用RPC方式进行高效的HTTP服务访问
  • .net FrameWork简介,数组,枚举
  • .NET 使用 JustAssembly 比较两个不同版本程序集的 API 变化
  • .NET 自定义中间件 判断是否存在 AllowAnonymousAttribute 特性 来判断是否需要身份验证