SpringBoot学习笔记一、SpringBoot应用初创建以及应用

news/2024/5/9 1:14:42

一、创建SpringBoot的两种方式

1.Spring Initializr方式创建
(1)第一步在IDEA中选择 File-->NEW-->Project ,选择 Spring Initializr ,指定Maven坐标、包名、指定 JDK 版本 1.8 ,然后点击Next 。如下图:
(2)由于是初步创建 我们选择一个SpringWeb依赖即可,选择好SpringBoot版本后点击Create:
(3)创建完的项目结构如图:
(4)其中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.shadowcoder</groupId><artifactId>SpringBootDemo</artifactId><version>0.0.1-SNAPSHOT</version><name>SpringBootDemo</name><description>SpringBootDemo</description><properties><java.version>1.8</java.version><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><spring-boot.version>2.3.12.RELEASE</spring-boot.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><exclusions><exclusion><groupId>org.junit.vintage</groupId><artifactId>junit-vintage-engine</artifactId></exclusion></exclusions></dependency></dependencies><dependencyManagement><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-dependencies</artifactId><version>${spring-boot.version}</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement><build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.8.1</version><configuration><source>1.8</source><target>1.8</target><encoding>UTF-8</encoding></configuration></plugin><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><version>${spring-boot.version}</version><configuration><mainClass>com.shadowcoder.springbootdemo.SpringBootDemoApplication</mainClass><skip>true</skip></configuration><executions><execution><id>repackage</id><goals><goal>repackage</goal></goals></execution></executions></plugin></plugins></build></project>
(5)运行SpringBoot项目

找到最里层目录下的启动类SpringBootDemoApplication,点击上面的小三角启动

其代码如下:

package com.shadowcoder.springbootdemo;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication
public class SpringBootDemoApplication {public static void main(String[] args) {SpringApplication.run(SpringBootDemoApplication.class, args);}}
(6)成功运行

无报错且出现下面页面则为成功

2.New Project方式创建
(1)第一步在IDEA中选择 File-->NEW-->Project ,选择 New Project ,指定Maven坐标、包名、指定 JDK 版本 1.8 ,然后点击Create 。如下图:

(2)查看pom.xml文件及结构,如下图:

(3)更改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 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.shadowcoder</groupId><artifactId>SpringBootTest1</artifactId><version>1.0-SNAPSHOT</version><properties><maven.compiler.source>8</maven.compiler.source><maven.compiler.target>8</maven.compiler.target><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding></properties><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.2.6.RELEASE</version><relativePath/> <!-- lookup parent from repository --></parent><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency></dependencies></project>
(4)刷新安装依赖,点击右上角的小符号,或者点开Maven进行刷新,如图所示:

(5)写入启动类,并启动,代码如下:

package com.shadowcoder;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication
public class SpringBootTest1 {public static void main(String[] args) {SpringApplication.run(SpringBootTest1.class,args);}
}
 (7)运行SpringBoot项目

找到最里层目录下的启动类SpringBootTest1,点击上面的小三角启动

(8)成功运行

无报错且出现下面页面则为成功

二、SpringBoot简单配置

1.application.properties的端口配置

默认端口server.port = 8080,更改后重新运行会直接更改应用的web访问入口。

三、简单的访问接口层HelloWorld

1.添加一个类HelloWorldController,代码结构如下:

package com.shadowcoder.springbootdemo.demos;import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;@RestController
public class HelloWorldController {@GetMapping("/hello")public String hello(){return "Hello World";}
}
2.访问接口

重新运行项目后访问localhost:8080/hello出现Hello World页面即为成功

备注(提示):

1.(趣味)更改SpringBoot启动页面打印图形

在resources下添加一个banner.txt文件,启动窗口会将此文件作为启动类。

2.在线制作banner的网站

纯字体

http://patorjk.com/software/taag/

https://www.bootschool.net/ascii

ASCII Generator

图片风

https://www.degraeve.com/img2txt.php

https://www.bootschool.net/ascii-art/animals

 3.依赖解读
Spring Boot项目中的 pom.xml 中有这么一个依赖,如下:
    <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.2.6.RELEASE</version><relativePath/> <!-- lookup parent from repository --></parent>
<parent> 这个标签都知道什么意思, 父亲 是吧,这么个标签主要的作用就是用于版本控制。这也就是 引入的 WEB 模块 starter 的时候不用指定版本号 <version> 标签的原因,因为在 spring-boot-starter-parent 中已经指定了,类似于一种继承的关系,父亲已经为你提供了,你只需要选择用不用就行。

http://www.mrgr.cn/p/27837505

相关文章

前端学习之JavaScript有关字符串的一些方法

&#xff08;注释是对各个方法的一些解释&#xff09; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>字符串</title> </head> <body><script>let str1 test1let str2 n…

Learn OpenGL 25 法线贴图

为什么要引入法线贴图 我们的场景中已经充满了多边形物体&#xff0c;其中每个都可能由成百上千平坦的三角形组成。我们以向三角形上附加纹理的方式来增加额外细节&#xff0c;提升真实感&#xff0c;隐藏多边形几何体是由无数三角形组成的事实。纹理确有助益&#xff0c;然而…

WPF 窗体 在不同的屏幕分辨率、缩放下的布局方案

该设计方案适应与不同的屏幕分辨率,屏幕缩法。 方式一、当 设置为 SizeToContent=“Height“时,设置Height不会更改窗口的高度。相当于窗体的height= uniform 当 设置为 SizeToContent=“Width“时,设置Width不会更改窗口的宽度。相当于窗体的Width= uniform<Window 其…

Multimodal Chain-of-Thought Reasoning in Language Models阅读笔记

论文&#xff08;2023年&#xff09;链接&#xff1a;https://arxiv.org/pdf/2302.00923.pdf GitHub项目链接&#xff1a;GitHub - amazon-science/mm-cot: Official implementation for "Multimodal Chain-of-Thought Reasoning in Language Models" (stay tuned a…

五种方案图文并茂教你使用DBeaver,SQL文件导入数据库,插入数据,备份恢复mysql,postgres数据

备份导出数据 方案一:支持可以整个库导出、部分表导出、多个库导出(可选格式较少) 使用连接数据库 鼠标右键选择需要导出备份的数据库-工具-备份 此步骤对于不同类型数据库来说,有的可以一次选择多个表,有的可以一次选择多个库,下面是两个截图案例勾选需要导出的表-点击下…

YOLOv9改进策略:IoU优化 | Wasserstein Distance Loss,助力小目标涨点

&#x1f4a1;&#x1f4a1;&#x1f4a1;本文独家改进&#xff1a;基于Wasserstein距离的小目标检测评估方法 Wasserstein Distance Loss | 亲测在多个数据集能够实现涨点&#xff0c;对小目标、遮挡物性能提升明显 &#x1f4a1;&#x1f4a1;&#x1f4a1;MS COCO和PASC…

fastadmin学习01-windows下安装部署

下载源代码 官网 安装 解压&#xff0c;然后使用phpstorm打开 修改配置文件 创建数据库 -- drop database fastadmin01; create database fastadmin01;这样fastadmin就部署好了 访问主页也能看到前台页面

vue3全局引入element-plus使用Message教程

文章目录 安装引入 Element Plus和组件样式示例注意安装与引入&#xff1a;按需引入&#xff1a;API 使用&#xff1a;样式问题&#xff1a;组件上下文&#xff1a;版本兼容性&#xff1a;错误处理&#xff1a; 这是 Element UI 的 Vue 3 版本。ElMessage 是 Element Plus 中的…

想分组聚合各省的条数、总额,及其平均数或者占比的话,Python方便还是slq方便?

大家好,我是Python进阶者。 一、前言 前几天在Python最强王者交流群【斌】问了一个数据处理的问题。问题如下: 求教大佬:我有全国的明细5000条,其中一个字段是省(直辖市), 如果我想分组聚合各省的条数、总额,及其平均数或者占比的话,Python方便还是sql方便? 二、实现…

大白话扩散模型(无公式版)

背景 传统的图像生成模型有GAN&#xff0c;VAE等&#xff0c;但是存在模式坍缩&#xff0c;即生成图片缺乏多样性&#xff0c;这是因为模型本身结构导致的。而扩散模型拥有训练稳定&#xff0c;保持图像多样性等特点&#xff0c;逐渐成为现在AIGC领域的主流。 扩散模型 正如…

分布式系统的发展史

目录 &#x1f433;今日良言&#xff1a;且视他人之疑目如盏盏鬼火&#xff0c;大胆地去走自己的夜路 &#x1f407;一、常见概念 &#x1f407;二、发展史 今日良言&#xff1a;且视他人之疑目如盏盏鬼火&#xff0c;大胆地去走自己的夜路 一、常见概念 在正式介绍分布式系…

M1 mac安装 Parallels Desktop 18 激活

M1 mac安装 Parallels Desktop 18 激活 下载安装Parallels Desktop 18.1.1 (53328) 激活1. 拷贝prl_disp_service2. 在终端打开Crack所在位置3. 输入命令&#xff0c;激活成功 下载 安装包和激活文件下载地址 链接: https://pan.baidu.com/s/1EjT7xeEDcntIIoOvvhBDfg?pwd9pue …

全国植被类型分布数据

引言 全国植被类型分布数据利用 Landsat 卫星数据&#xff08;Landsat TM&#xff0c;ETM和 OLI&#xff09;完成了长时序的地表覆盖变化检测&#xff0c;并结合变化 检测结果实现了逐区域和逐期的地表覆盖动态更新&#xff0c;30米精细植被类型分布数据&#xff0c;共包含 2…

由浅到深认识Java语言(31):阶段性练习

该文章Github地址&#xff1a;https://github.com/AntonyCheng/java-notes 在此介绍一下作者开源的SpringBoot项目初始化模板&#xff08;Github仓库地址&#xff1a;https://github.com/AntonyCheng/spring-boot-init-template & CSDN文章地址&#xff1a;https://blog.c…

[蓝桥杯 2022 省 A] 求和

[蓝桥杯 2022 省 A] 求和 题目描述 给定 n n n 个整数 a 1 , a 2 , ⋯ , a n a_{1}, a_{2}, \cdots, a_{n} a1​,a2​,⋯,an​, 求它们两两相乘再相加的和&#xff0c;即 S a 1 ⋅ a 2 a 1 ⋅ a 3 ⋯ a 1 ⋅ a n a 2 ⋅ a 3 ⋯ a n − 2 ⋅ a n − 1 a n − 2 ⋅ a…

【Canvas与艺术】简约式胡萝卜配色汽车速度表

【效果图】 【代码】 <!DOCTYPE html> <html lang"utf-8"> <meta http-equiv"Content-Type" content"text/html; charsetutf-8"/> <head><title>胡萝卜色汽车速度仪表盘简化版</title><style type"…

网页无插件视频播放器,支持录像、截图、音视频播放,多路播放等,提供源码下载

前言 本播放器内部采用jessibuca插件接口&#xff0c;支持录像、截图、音视频播放等功能。播放器播放基于ws流&#xff0c;分屏操作支持1分屏、4分屏、6分屏、9分屏方式。 jessibuca工作原理是通过Emscripten将音视频解码库编译成Js&#xff08;WebAssembly&#xff0c;简称was…

python 中判断文件、目录是否存在的方法

判断目录是否存在并创建目录 一、实现上传文件功能二、判断目录是否存在的办法2.1、使用os模块2.1.1、判断目录是否存在2.1.2、os.makedirs()&#xff1a;递归创建目录 2.2、使用pathlib模块2.2.1、path.exist()判断目录是否存在2.2.1、path.mkdir()&#xff1a;创建目录 2.3、…

【Linux】详解进程终止进程等待

一、页表&&写时拷贝的进一步理解 页表中不仅仅只有虚拟地址到物理地址的映射&#xff0c;还包括了很多选项&#xff0c;其中就包括了映射条目的权限。当我们进程的代码和数据加载到内存并和进程地址空间建立映射关系时&#xff0c;如果数据的内容不允许被修改&#xff…

测试一下MySQL四种隔离级别都做了什么

准备工作: 一个表:两条事务 ,每条事务有两条相同sql,update值改成A、B用作区分: 1.读未提交 1.1测试脏读:事务A执行update操作,不提交,事务B执行select查询结果。 期望:按照网上所说,应该会产生脏读问题,查询到未提交的值,即name = "事务A"。 测试结果:…