Spring Boot 一.基础和项目搭建(上)

news2025/1/17 3:17:40

之前也自学过SSM框架,Spring Boot框架,也动手写过几个项目,但是这是第一次完整的记录。从0开始,把一些细节整理了一下。
大概会分为十几小节,这是一个学习的过程,更是一个思考的过程,废话不多说那就正式开始了。😊

Spring Boot 第一节 基础与入门[上]

  • 一.思维导图
  • 二.基本概念
  • 三.项目搭建
    • 1.项目搭建环境
    • 2.maven仓库
      • (1)maven安装于配置
      • (2)idea中的maven配置
    • 3.创建Spring Boot项目
      • (1)项目搭建
      • (2)项目起步
  • 四.idea配置热加载

一.思维导图

这是我的个人亿图脑图笔记,整理了一下,也是本节的大概内容。
分为上下两篇,上主要是项目配置和搭建,下为一些插件,项目目录结构,父子工程,以及一些接口工具的使用。
在这里插入图片描述

二.基本概念

  1. 先看百度搜索指数对比:(简洁明了)
    在这里插入图片描述

  2. 和传统的SSM框架不一样,Springboot框架将很多配置都简化了,自动配置好了,这一点使得它成为当代主流,当然也有一些老项目依旧是SSM框架。

  3. 其中一个主要特点:约定大于配置(知道即可)
    在这里插入图片描述

  4. 特性:简略,可以自行百度。(不影响)

三.项目搭建

1.项目搭建环境

工具:idea
jdk17(以上)
Spring Boot3
Maven仓库配置
mysql8.0

注意:如果版本不一样,可以使用老版本搭配:
jdk1.8,Spring boot2也是可以的

2.maven仓库

(1)maven安装于配置

  1. 下载好maven仓库工具,maven官网下载地址
    在这里插入图片描述
  2. 下载完成后,配置环境变量,系统的高级配置。[寻找教程]
    cmd测试一下:mvn -version,看看显示是否成功。
  3. 目录如下:其中要修改conf目录下的setting.xml文件,添加阿里云的镜像(清华的也行),配置放在下面,需要修改为自己的路径。
  4. 创建文件夹:repo,存放地址(名字随便取,英文)
    在这里插入图片描述
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.2.0"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.2.0 https://maven.apache.org/xsd/settings-1.2.0.xsd">
  //注意,/Users/moqi/tools/maven_jar要改为自己路径
  <localRepository>/Users/moqi/tools/maven_jar</localRepository>
  <mirrors>
    <mirror>
      <id>aliyunmaven</id>
      <mirrorOf>*</mirrorOf>
      <name>阿里云公共仓库</name>
      <url>https://maven.aliyun.com/repository/public</url>
    </mirror>
  </mirrors>
</settings>

(2)idea中的maven配置

上面配置完了,进行idea中的maven配置,打开setting,如下所示,修改为自己下载的maven仓库地址,下面两个同样改为自己的配置文件和储存文件夹。
在这里插入图片描述

3.创建Spring Boot项目

(1)项目搭建

  1. 打开idea,创建一个新项目,填写如下所示,配置完点击next:[域名用自己的]
    Name:项目名
    Location:项目存放地址
    Group:用自己域名的反写,一般默认com.example,可以自己修改
    jdk和java要对应:这里都是版本号17
    Packaging:jar
    在这里插入图片描述
  2. 下一步后勾选如下:
    可以一口气都勾选上,以后都要用,但是这样的话,下面的配置文件要连接数据库,否则会报错。
    如果先不连接数据库的话,只需要Lombok和SpringBootDevTools就行了。(这也是可以的,后续依赖配置我会发一个总的文件,复制粘贴即可)
    在这里插入图片描述
  3. 点击创建完成后,如下所示,创建成功:
    其中我们可选的依赖,maven仓库已经帮我们执行导入了,我们可以在pom文件中查看一下。
    ![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/a74c835c8d644fc195a0d76ad90acebf.png

(2)项目起步

  1. 其中这个类我们的运行主类,如果创建时没有,要手写一下,如下所示。
    在这里插入图片描述
  2. rescource目录下的配置文件为application.yml或者默认application.properties。推荐使用application.yml格式,可以删除原来的,创建application.yml文件[基本配置如下]。
    其中这种格式:需要注意缩进。[这种是已经导入数据库依赖的,要配置连接的,没有导入的可以先忽略]
# 服务端口
server:
  port: 9090
# 数据库配置,如果没有添加数据库依赖,可以先不加
spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    username:         #你本地的数据库用户名
    password:         #你本地的数据库密码
    url: jdbc:mysql://localhost:3306/数据库名称?useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true&useSSL=false&serverTimezone=GMT%2b8&allowPublicKeyRetrieval=true
  servlet:
    multipart:
      max-file-size: 100MB
      max-request-size: 100MB

  1. 运行一下主类:一般默认的端口号为8080,配置文件中可以修改为9090。运行成功:
    在这里插入图片描述

四.idea配置热加载

热加载:就是容器状态在运行的情况下重新加载改变编译后的类.在这种情况下内存不会清空,sessin不会丢失,但容易造成内存溢出,或者找不到方法。因为内存无法转变成对像. 一般改变类的结构和模型就会有异常,在已经有的变量和方法中改变是不会出问题的。在中模式最好是在调试过程中使用,免得整个项目加载.

打开setting,配置如下所示:
在这里插入图片描述

这里Spring Boot第一节上篇,主要分为配置搭建,内容较少,主要在环境搭建与项目的初步建立上,从思维导图上来说,三分之一左右。[但很重要,配置不对,一切白费!!]
下半节:工具和插件使用,各种接口,请求协议。其中下面的各种接口工具的使用,可能会有些难度。[实际操作和联系]
敬请期待下篇的到来:…

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MySQL8 搭建集群方案文档

MySQL8.0.21 InnoDB Cluster 从零搭建集群方案详细文档 InnoDB集群 本文档分享新版本MySQL 8.0.21 Innodb Cluster集群搭建过程 ~ MySQL InnoDB Cluster为MySQL提供了完整的高可用性解决方案。通过使用MySQL Shell附带的AdminAPI&#xff0c; 您可以轻松地配置和管理一组至少…

【数字IC/FPGA】手撕代码:模3检测器(判断输入序列能否被3整除)

今天我们来手撕一个常见的笔试题&#xff0c;使用的方法是三段式Moore状态机。 题目描述&#xff1a; 输入端口是串行的1bit数据&#xff0c;每个时钟周期进来一位新数据后&#xff0c;实时检查当前序列是否能整除3&#xff0c;若能则输出1&#xff0c;否则输出0。 例如&#…

BIT-4-自定义类型:结构体,枚举,联合(C语言进阶)

本章重点 结构体 结构体类型的声明结构的自引用结构体变量的定义和初始化结构体内存对齐结构体传参结构体实现位段&#xff08;位段的填充&可移植性&#xff09;枚举 枚举类型的定义枚举的优点枚举的使用联合 联合类型的定义联合的特点联合大小的计算 结构体 1.结构体的声…

unity学习(74)——服务器Dispose异常

1.返回的1 2 11是怪物初始化&#xff0c;源代码中也没有 2. 3.客户端中的网络连接初始化如下&#xff1a; 4.不是因为超时&#xff0c;设置10s为超时期限后&#xff0c;客户端和服务器有时依然会报错&#xff01; 5.我感觉就是update中发包给弄坏的&#xff01; 6.不在“帧”…

【面试专题】Mybatis高频面试题

一、介绍下MyBatis中的工作原理 1。介绍MyBatis的基本情况&#xff1a;ORM 2。原理&#xff1a; MyBatis框架的初始化操作处理SQL请求的流程 1.系统启动的时候会加载解析全局配置文件和对应映射文件。加载解析的相关信息存储在 Configuration 对象 Testpublic void test1(…

Android ImageView以及实现截图

实现效果 截图前 截图后 代码 package cn.jj.huaweiad;import android.annotation.SuppressLint; import android.graphics.Bitmap; import android.os.Bundle; import android.os.Handler; import android.util.Log; import android.view.View; import android.view.ViewGro…

【运维】Elsatic Search学习笔记

基本使用 Elasticsearch(简称ES): 是一个开源的高扩展的分布式全文搜索引擎 Docker安装Elasticsearch1 version: "3.1" services:elasticsearch:image: elasticsearch:7.13.3container_name: elasticsearchprivileged: trueenvironment:- "cluster.nameelast…

HTTP 常见面试题(计算机网络)

HTTP 基本概念 一、HTTP 是什么&#xff1f; HTTP(HyperText Transfer Protocol) &#xff1a;超文本传输协议。 HTTP 是一个在计算机世界里专门在「两点」之间「传输」文字、图片、音频、视频等「超文本」数据的「约定和规范」。 「HTTP 是用于从互联网服务器传输超文本到本…

【4】单链表(有虚拟头节点)

【4】单链表&#xff08;有虚拟头节点&#xff09; 1、虚拟头节点2、构造方法3、node(int index) 返回索引位置的节点4、添加5、删除6、ArrayList 复杂度分析(1) 复杂度分析(2) 数组的随机访问(3) 动态数组 add(E element) 复杂度分析(4) 动态数组的缩容(5) 复杂度震荡 7、单链…

uniapp 小程序发布体验版 http://198.18.0.1:7001 不在以下 request 合法域名列表中(踩坑记录二)

问题一&#xff1a; 小程序发布体验版时出现报错信息&#xff1a; http://198.18.0.1:7001 不在以下 request 合法域名列表中无法连接uniCloud本地调试服务&#xff0c;请检查当前客户端是否与主机在同一局域网下 解决方案&#xff1a; 请务必在HBuilderX内使用【发行】菜单打…

Vastbase编程利器:PL/pgSQL原理简介

PL/pgSQL是Vastbase提供的一种过程语言&#xff0c;在普通SQL语句的使用上增加了编程语言的特点&#xff0c;可以用于创建函数、存储过程、触发器过程以及创建匿名块等。 本文介绍Vastbase中PL/pgSQL的执行流程&#xff0c;包括PL/pgSQL的编译与运行。 1、编译 PL/pgSQL的编译…

什么是HTTP? HTTP 和 HTTPS 的区别?

文章目录 一、HTTP二、HTTPS三、区别参考文献 一、HTTP HTTP (HyperText Transfer Protocol)&#xff0c;即超文本运输协议&#xff0c;是实现网络通信的一种规范 在计算机和网络世界有&#xff0c;存在不同的协议&#xff0c;如广播协议、寻址协议、路由协议等等… 而HTTP是…

CleanMyMac X2024专业的Mac清理工,具一次激活,永久使用

CleanMyMac&#xff0c;作为一款专为Mac系统设计的垃圾清理工具&#xff0c;以其强大的清理能力、简便的操作方式以及卓越的系统兼容性&#xff0c;受到了众多Mac用户的青睐。以下是对这款软件功能的详细介绍&#xff1a; CleanMyMac X2024全新版下载如下: https://wm.makedin…

机器人---人形机器人之技术方向

1 背景介绍 在前面的文章《行业杂谈---人形机器人的未来》中&#xff0c;笔者初步介绍了人形机器人的未来发展趋势。同智能汽车一样&#xff0c;它也会是未来机器人领域的一个重要分支。目前地球上最高智慧的结晶体就是人类&#xff0c;那么人形机器人的未来会有非常大的发展空…

Qt笔记-解决Qt程序连不上数据库MySQL数据库(重编libqsqlmysql.so)

使用QSqlDatabase连接MySQL数据库时。在自己程序配置没有错误的情况下报这类错误&#xff1a; QSqlDatabase: QMYSQL driver not loaded QSqlDatabase::exec: database not open 造成这样的问题大多数是libqsqlmysql.so有问题。 Qt的QSqlDatabase使用的是libqsqlmysql.so&a…

【GitLab】开启GitLab 的邮箱通知服务

为了GitLab使用更方便&#xff0c;让用户及时收到推送代码、修改密码等相关的通知&#xff0c;可以开启邮箱推送&#xff0c;下面是两种邮箱的配置方法。 使用系统Postfix 邮箱 如果要使用 Postfix 来发送电子邮件通知&#xff0c;执行以下安装命令。 sudo apt-get install …

图的存储及基本操作试题

01&#xff0e;下列关于图的存储结构的说法中&#xff0c;错误的是&#xff08;). A.使用邻接矩阵存储一个图时&#xff0c;在不考虑压缩存储的情况下&#xff0c;所占用的存储空间大小 只与图中的顶点数有关&#xff0c;与边数无关 B&#xff0e;邻接表只用于有向图的存储&…

打造高效安全的电池管理 | 基于ACM32 MCU的两轮车充电桩方案

前 言 随着城市化进程的加快、人们生活水平的提高和节能环保理念的普及&#xff0c;越来越多的人选择了电动车作为代步工具&#xff0c;而两轮电动车的出行半径较短&#xff0c;需要频繁充电&#xff0c;因此在城市中设置两轮车充电桩就非常有必要了。城市中的充电桩不仅能解决…

学习transformer模型-Dropout的简明介绍

Dropout的定义和目的&#xff1a; Dropout 是一种神经网络正则化技术&#xff0c;它在训练时以指定的概率丢弃一个单元&#xff08;以及连接&#xff09;p。 这个想法是为了防止神经网络变得过于依赖特定连接的共同适应&#xff0c;因为这可能是过度拟合的症状。直观上&#…

AcWing-乌龟棋

312. 乌龟棋 - AcWing题库 所需知识&#xff1a;动态规划 闫氏dp分析法&#xff1a; 整体思路&#xff1a;由于走的方式有四种&#xff0c;所以dp[i][j][m][n]的来源有四种&#xff0c;状态转移方程式要求不重不漏&#xff0c;所以我们可以以使用的最后一个卡片上的数值来进行…