探索 Spring Boot 项目全过程

文章目录

  • 🎇前言
  • 1.Spring Boot 所需环境
  • 2.Spring Boot 项目创建
    • 2.1 安装插件
    • 2.2 创建新项目
    • 2.3 项目属性配置
    • 2.4添加依赖
    • 2.4 修改项目名称
    • 2.5 添加框架支持
    • 2.6 目录介绍
  • 3.判断Spring Boot 创建项目是否成功
  • 🎆总结

在这里插入图片描述

🎇前言

在 Java 这个圈子,一提到框架就不得不提到 Spring Boot;那 Spring Boot 到底是何许物也呢?Spring Boot 就是简化 Spring 程序开发的框架。怎样理解 Spring Boot 和Spring 之间的关系呢?一句话总结:“Spring 的诞⽣是为了简化 Java 程序的开发的,而 Spring Boot 的诞⽣是为了简化 Spring 程序开发的”,简单的可以这样理解,汽车是为了出现方便诞生的,自动驾驶汽车是为了简化驾驶汽车操作的。

1.Spring Boot 所需环境

我们大部分人都是使用 IDEA 社区版(白嫖香啊),社区版是不支持创建 Spring Boot 项目的,但是没有关系,咱可以安装插件,安装插件之前我们需要知道的就是我们 IDEA 的版本最好是2021.3.2,因为高版本的 IDEA 中的插件是要收费的。

环境总结

  • JDK : 8
  • IDEA: IntelliJ IDEA 2021.3.2 (Community Edition)
  • Spring Boot Helper(插件): 2022.1.2
  • Spring Boot version: 2.7.X

2.Spring Boot 项目创建

2.1 安装插件

我们使用的IDEA社区版,它本身是不支持创建 Spring Boot项目的,因此我们需要安装插件来协助我们完成 Spring Boot 项目的创建。
在这里插入图片描述
这个插件安装好后,他有一个非常奇怪的操作,我们安装的时候它的名字是Spring Boot Helper 但是安装好后再去已安装目录中找不到这个名字,因为它自己改名字了改成了Spring Initializr and Assistant,如下图:
在这里插入图片描述

2.2 创建新项目

进入新建项目目录,选择Spring Initializr 这个选项,其他的默认选项就可以了,之后点击下一步。
在这里插入图片描述

2.3 项目属性配置

按照下方图片上的进行配置就行。
在这里插入图片描述

对上方的所以选项进行说明:

  • Group Id: 组织id
  • Artifact Id: 项目id
  • Version: 项目版本
  • Project type: 项目类型
  • Language: 开发语言
  • Packaging: 打包类型
  • Java version: Java 版本(推荐使用 Java 8)
  • Project name: 项目名称
  • Project description: 项目描述
  • Package name: 项目包名

2.4添加依赖

这里首先要选择Spring Boot 的版本号,我们悬着2.7.x这一类的,再选择下面的依赖;选择依赖可以在左边目录中选择,也可以在左上方的搜索框中搜索之后选择,我们创建的是 Spring Web 项目(其他项目也是类似),选择如下图。
在这里插入图片描述

扩展:
在选择版本号的时候,我们可以看到很多版本选择,我们选择2.7.X是因为我们使用的是Java 8,3.0.X版本的 Spring Boot 至少需要Java 17,这里选择版本号还有后缀英文的选择,这些选项是测试版本,也就是新版本,这些版本可能有 Bug 不是很稳定,如果你想体验新功能就使用测试版本,这里是推荐使用无后缀的稳定版本的。
在这里插入图片描述

2.4 修改项目名称

看到这里可能有人会懵了,上面不是已经写过名称了吗?为啥这里还要再写一遍项目名称呢?答案是:这里填写的项目名称是保存在文件夹上的项目名称,而项目属性配置填的项目名称是项目中目录上的名称。

这里填完,点击完成Spring Boot 项目开始创建了。
在这里插入图片描述

注意: 这里可能会加载很久,因为这是我们第一次创建,所以的依赖都要去远程仓库拉去。

2.5 添加框架支持

点击完成,还不算真的完成Spring Boot 项目的创建,还需要添加框架支持,右键点击最顶上的目录(spring-boot-demo),就会出现下方这个图的内容,跟着下方这个图,就能完成创建了。

在这里插入图片描述

2.6 目录介绍

查看目录结构,如下图,并且你的DemoApplication这个启动类是一个圆圈上方有一个绿色的三角,证明Spring Boot 创建成功了。
在这里插入图片描述
Spring Boot 项目有两个主要的目录:

  • src/main/java 为 Java 源代码
  • src/main/resources 为静态资源或配置文件:
    ○/static:静态资源文件夹;
    ○/templates:模板资源文件夹

3.判断Spring Boot 创建项目是否成功

在demo文件夹中创建一个TestController类,类中写下方内容:

package com.example.demo;


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

@Controller
@ResponseBody
public class TestController {
    @RequestMapping("/sayHi")
    public String sayHi(String name) {
        if(!StringUtils.hasLength(name)) {
            name ="张三";
        }
        String res = "你好" + name;
        return  res;

    }
}

下完之后,我们运行demo文件夹中的DemoApplication启动类,之后进入网站http://127.0.0.1:8080/sayHi,能看到如下图输出内容,证明项目真就完成了。
在这里插入图片描述

🎆总结

Spring Boot 是为了快速开发 Spring ⽽诞⽣的,Spring Boot 具备:

  • 快速集成框架,Spring Boot 提供了启动添加依赖的功能,⽤于秒级集成各种框架。
  • 内置运行容器,⽆需配置 Tomcat 等 Web 容器,直接运⾏和部署程序。
  • 快速部署项⽬,⽆需外部容器即可启动并运⾏项⽬
  • 可以完全抛弃繁琐的 XML,使⽤注解和配置的⽅式进⾏开发
  • ⽀持更多的监控的指标,可以更好的了解项⽬的运⾏情况等特点

Spring Boot 可使⽤ IDEA 或网页创建,它的设计思想是约定⼤于配置,类上标注@SpringBootApplication 就可以启动 Spring Boot 项⽬了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/33825.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Qt在Ubuntu下如何进行桌面软件开发?

文章目录 0.引言1.新建项目2.编写第一个程序3.在Qt外部启动程序 0.引言 笔者研究的方向涉及在ubuntu中运行代码,早先是直接利用控制台运行代码文件,在控制台中虽然设法将代码精简到一个三个文件中,只需要在控制台运行这三个文件即可&#xff…

使用itextpdf填充表单域并生成pdf

文章目录 前言一、准备工作1.1 安装软件1.2 准备pdf1.3 设置表单域 二、创建项目三、编写代码3.1 编写工具类3.2 测试 四、测试结果 前言 最近手上有个任务,就是需要做一个pdf导出的功能。 可选择的技术点比较多,我这边综合考虑之后,使用的…

第五课—大学英语四六级备考—听力专项

Key words 1.implement vt.实施 "Implement" 在中文中的意思是「实施」或「执行」。以下是一些示例用法和搭配: 中文意思:实施、执行 形近字:implicate(牵连) 1. 用英文造句:The government …

微信小程序浏览docx,pdf等文件在线预览使用wx.openDocument

wx.downloadFile({ url: fileUrl,//pdf链接success(res) {wx.openDocument({ //打开文档filePath: res.tempFilePath,fileType: "pdf",//文档类型showMenu: true,success: function (res) {wx.showToast({title: 打开文档成功,})},fail: function (res) {wx.showToas…

vue封装svg组件来修改svg图片颜色

文章目录 1、引入依赖2、根目录的vue.config.js配置3、在组件文件夹(compontents)中创建svgIcon.vue4、在src目录下创建icons文件5、处理svg格式的图片6、在main.js文件中引入icons文件中的index.js文件7、使用8、效果图1、项目成功运行后的样子2、直接在html上添加样式&#x…

LangChain:LLM应用程序开发(中)——文档问答、评估、Agents(代理)

文章目录 四、文档问答4.1 快速入门4.2 逐步实现4.3 其它方法 五、评估5.1 创建QA app5.2 生成测试数据点5.2.1 Hard-coded examples5.2.2 LLM-Generated examples 5.3 link chain debug手动评估5.4 LLM assisted evaluation5.5 LangChain Evaluation platform 六、Agents&…

论文笔记 CPU Accounting for Multicore Processors

Abstract 确定了对CPU utilization的不准确测量是如何影响OS的几个关键方面的这篇文章提出来了一个比CPU utilization更准确的性能评估指标 In this paper, we identify how an inaccurate measurement of the CPU utilization affects several key aspects of the system suc…

Python 基本数据类型(三)

文章目录 每日一句正能量数值运算数值类型实例String(字符串) 每日一句正能量 人的相处,靠的是真心,不是套路。合得来的人,坦诚相待,合不来的人,客气寒暄;谁也别给谁冷脸看&#xff…

期末复习【计算机网络】

期末复习【计算机网络】 前言推荐期末复习如何快速阅读电子书重点第1章 概述1.6 计算机网络的性能1.6.2 计算机网络的性能指标√ 1.7 计算机网络体系结构1.7.3 具有五层协议的体系结构√ 第2章 物理层2.3 物理层下面的传输媒体 *2.4 信道复用技术2.4.1 频分复用、时分复用和统计…

LeetCode 剑指 Offer 13. 机器人的运动范围(深度遍历)

LeetCode 剑指 Offer 13. 机器人的运动范围 原题思路代码运行截图收获 原题 LeetCode 剑指 Offer 13. 机器人的运动范围 思路 通过深度遍历来找出所有可达的格子通过0、1、2来区分未遍历、可到达、不可到达三种状态 代码 class Solution { public:int visited[109][109];i…

【计算机网络】数据链路层--点对点协议PPP

1.概念 2.构成 3.封装成帧 - 帧格式 4.透明传输 4.1字节填充法(面向字节的异步链路) 4.2.比特填充法(面向比特的同步链路) 5.差错检测 6.工作状态 7.小结

Webpack和Vite简单使用

目录 WebPack 介绍 基础使用 初始化使用 webpack.config.js文件 webpack开发服务器 vite 介绍 使用 使用vite创建vue框架项目 WebPack 介绍 当我们习惯了在node中编写代码的方式后,在回到前端编写html、css、js这些东西会感觉到各种的不便。比如: 不能放心…

【Linux】硬链接 和 软链接

为了方便用户访问文件,Linux提供了一种称为连接(link)的机制,可以将一个文件或目录与另一个文件或目录建立关联,从而实现多个路径指向同一个文件或目录的效果。 一、概述二、硬链接和软链接详解2.1 硬链接2.11 硬链接的…

C++ 模板

模板是泛型编程的基础,泛型编程即以一种独立于任何特定类型的方式编写代码。 模板是创建泛型类或函数的蓝图或公式。库容器,比如迭代器和算法,都是泛型编程的例子,它们都使用了模板的概念。 每个容器都有一个单一的定义&#xf…

微信小程序的跨页面传参以及data-方法的相关细节

🙂博主:小猫娃来啦 🙂文章核心:微信小程序的跨页面传参以及data-方法的相关细节 目录 前言wx.navigateTo()方法微信小程序传参的几种方式通过data-属性传参关于data-方法配合点击事件传参的细节 前言 其实在学习新东西的过程中&a…

记录一次对STM32G4串口硬件FIFO的调试

记录一次对STM32G4串口硬件FIFO的调试 前言:通常我们使用串口接收多字节数据会使用中断和DMA两种方式。使用中断方式,每接收到一个字节就会触发一次中断,我们可以在中断函数里将接收到的这一字节保存在内存中然后等待其他程序处理&#xff0c…

ruoyi-vue版本(三十)Spring Security 安全框架中token的生成与解析

目录 1 使用2 写工具类3 使用工具类 1 使用 1 项目里面添加依赖 <!-- Token生成与解析--><dependency><groupId>io.jsonwebtoken</groupId><artifactId>jjwt</artifactId></dependency>2 写工具类 package com.ruoyi.framework.we…

ethtool 原理介绍和解决网卡丢包排查思路

前言 之前记录过处理因为 LVS 网卡流量负载过高导致软中断发生丢包的问题&#xff0c;RPS 和 RFS 网卡多队列性能调优实践[1]&#xff0c;对一般人来说压力不大的情况下其实碰见的概率并不高。这次想分享的话题是比较常见服务器网卡丢包现象排查思路&#xff0c;如果你是想了解…

【数据库四】MySQL备份与恢复

MySQL备份与恢复 1.数据库备份的分类1.1 数据备份的重要性1.2 数据库备份的分类1.3 常见的备份方法 2.MySQL完全备份与恢复2.1 MySQL完全备份2.2 数据库完全备份分类2.3 MySQL物理冷备份及恢复2.4 数据迁移DST2.5 mysqldump进行逻辑备份2.5.1 mysqldump备份数据库2.5.2 mysqldu…