从0开始搭建一个SpringBoot项目(从环境配置到运行项目)

news2024/11/25 0:58:31

文章目录

  • 环境配置
    • JAVA环境配置
    • MySQL数据库配置
    • IDEA安装
    • Navicat 15安装
    • Maven配置
  • SpringBoot项目创建


环境配置

JAVA环境配置

  1. JDK8下载:
  • 官网下载
  • CSDN下载
  • 网盘
  1. 安装JDK,一直下一步即可,注意安装的位置:

在这里插入图片描述
3. 配置环境变量

(1)此电脑-》属性-》高级系统设置-》环境变量-》系统变量-新建:
在这里插入图片描述
(2)配置Path环境:系统变量-》Path-》编辑
在这里插入图片描述
新建:%JAVA_HOME%\bin-》新建:%JAVA_HOME%\jre\bin-》确定
在这里插入图片描述

(3)配置CLASSPATH(包路径):告诉Java在执行的时候,去哪里找到需要的包和类供程序使用。所以配置时应把包的路径赋值给CLASSPATH。
系统变量-新建-CLASSPATH:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
在这里插入图片描述

  1. 测试是否安装成功

CMD-》java -version-》下图安装成功
在这里插入图片描述

MySQL数据库配置

安装在服务器上 Linux

  1. 安装docker:参考 docker安装
  2. 修改docker的安装目录:
# 查看安装目录
sudo docker info | grep "Docker Root Dir"
# 修改安装目录->没有这个文件直接创建
cd /etc/docker
vim daemon.json

写入下面文件:

{
	"data-root": "/data/docker"
}

然后重启服务,查看安装目录:

# 停止docker服务
sudo systemctl stop docker

# 启动 Docker 服务:
sudo systemctl start docker


# 通过systemd重启docker服务(用于配置更改、服务更新或修复问题等情况,影响该主机上运行的所有容器)
systemctl restart docker

# 查看安装目录
sudo docker info | grep "Docker Root Dir"


其他基础命令:

# 配置 Docker 守护进程的行为和参数
vi /etc/docker/daemon.json

# 停止docker服务
sudo systemctl stop docker

# 启动 Docker 服务:
sudo systemctl start docker

# 重新加载systemd守护程序的配置文件,不会重启服务(配置文件:/etc/systemd/system/)
systemctl daemon-reload

# 通过systemd重启docker服务(用于配置更改、服务更新或修复问题等情况,影响该主机上运行的所有容器)
systemctl restart docker

# 重启容器
docker restart <容器名称或容器ID>

# 重启守护进程
systemctl daemon-reload

# 开机启动
systemctl enable docker

# 查看docker状态
systemctl status docker

# 查看docker 概要信息
docker info

# 运行一个docker 指定容器
docker run   xxx

# 查看镜像
sudo docker images

# 查看所有本地主机上的镜像
docker images
# 显示所有镜像
docker images -a
# 显示所有镜像
docker images -q
# 显示所有的镜像的id
docker images -aq
# 搜索镜像
docker search [name]
# 拉取镜像
docker pull [name]
# 删除镜像
docker rmi [id|name]
# 强制删除镜像
docker rmi -f [id|name]
# 创建交互型容器
docker run -it --name=[docker_name] [name] /bin/bash

# 查看启动的容器
docker ps
# 查看所有容器
docker ps -a
# 停止容器
docker stop [id|name]
# 启动容器
docker start [id|name]
# 容器重新启动
docker restart [id|name]
# 强行终止
docker kill [id|name]
# 删除停止的容器
docker rm [id|name]
# 强制删除容器
docker rm -f [id|name]
# 容器不停止,退出回主机
ctrl+P + Q
# 后台启动容器
docker run -d [name]
# 查看容器/镜像的元数据
docker inspect [id]
# 进入正在运行的容器
docker exec -it [id] bash
# 退出容器
exit
# 从容器中拷贝文件到主机中
docker cp [id]:[path]

查找docker镜像:docker-hub
安装mysql8:

# 下载镜像
sudo docker pull mysql:8.0.39
# 查看镜像
sudo docker images

启动镜像:
-p 端口号
–name 容器名称
-v 将容器目录挂载到主机
-e 设置容器内部环境
-d 后台运行

docker run \
-p 3306:3306 \
--name  mysql8 \
-v /home/hezh/mysql/conf:/etc/mysql/conf.d \
-v /home/hezh/mysql/data:/var/lib/mysql \
-v /home/hezh/mysql/log:/var/log/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
-d mysql
# 查看启动的容器
docker ps
# 查看所有容器
docker ps -a

启动成功后进入mysql:
在这里插入图片描述

IDEA安装

IDEA2024激活版:

https://www.yuque.com/knowledge-ocean/won3nw/zyvnctp60izre2bk

Navicat 15安装

Navicat 15激活版:

https://www.yuque.com/knowledge-ocean/won3nw/hi1s1pt31tahgp6i

Maven配置

  1. 下载Maven:https://maven.apache.org/download.cgi
    在这里插入图片描述
  2. 解压二进制安装包,得到下面文件,并新建仓库文件夹repo,作为本地仓库(依赖下载到这里)

在这里插入图片描述

  1. Maven系统环境变量配置

(1)此电脑-》属性-》高级系统设置-》环境变量-》系统变量-新建:

MAVEN_HOME
D:\java_soft\MAVEN\apache-maven-3.9.9

在这里插入图片描述

(2)配置Path环境:系统变量-》Path-》编辑

%MAVEN_HOME%\bin

在这里插入图片描述

  1. 测试是否配置成功
mvn -v

在这里插入图片描述

  1. 修改配置文件

配置文件即settings.xml文件,位置在maven下的conf文件夹中
在这里插入图片描述

(1)配置本地创库
在文件中找到<localRepository>标签如下所示位置,复制一份到注释外面
将之前创建好的本地仓库repo的路径放入标签中
在这里插入图片描述

(2)配置下载镜像
找到<mirrors>标签
将下面的阿里云镜像地址添加到其中

    <mirror>
      <id>alimaven</id>
      <mirrorOf>central</mirrorOf>
      <name>aliyun maven</name>
      <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
    </mirror>

在这里插入图片描述
保存退出即可。

  1. IDEA配置本地Maven

IDEA-》Setting-》Maven:
在这里插入图片描述


SpringBoot项目创建

JDK与SpringBoot版本推荐:

Spring Boot 2.0.x:推荐使用 JDK 8。
Spring Boot 2.1.x:推荐使用 JDK 8 或 JDK 11。
Spring Boot 2.2.x:推荐使用 JDK 8 或 JDK 11。
Spring Boot 2.3.x:推荐使用 JDK 8、JDK 11 或 JDK 14。
Spring Boot 2.4.x:推荐使用 JDK 8、JDK 11 或 JDK 15。
Spring Boot 2.5.x:推荐使用 JDK 8、JDK 11 或 JDK 16。
Spring Boot 3.x 使用 JDK17。

File-》New Project:
在这里插入图片描述在这里插入图片描述

出现问题:无法选择Java8,这是因为Spring Boot将来会全力支持Java17,不再维护支持Java8的版本,国际版的Spring Initializr已默认禁用了对Java 8的支持,直接访问start.spring.io或start.springboot.io将无法满足需求。用向导创建根据,默认是3.0以上版本,而这些Spring版本要求JDK17及其以上版本。
解决办法:将Spring Initializr的源地址从国际版更改为阿里云版,将https://start.spring.io/或者http://start.springboot.io/替换为 https://start.aliyun.com/。
在这里插入图片描述
Next-》选择版本SpringBoot2.x和依赖Spring Web-》运行成功:

在这里插入图片描述
在这里插入图片描述


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

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

相关文章

R语言统计分析——回归中的异常观测值

参考资料&#xff1a;R语言实战【第2版】 一个全面的回归分析要覆盖对异常值的分析&#xff0c;包括离群点、高杠杆点和强影响点。这些数据点需要更深入的研究&#xff0c;因为它们在一定程度上与其他观点不同&#xff0c;可能对结果产生较大的负面影响。 1、离群点 离群点是指…

【MySQL 10】表的内外连接 (带思维导图)

文章目录 &#x1f308; 一、内连接⭐ 0. 准备工作⭐ 1. 隐式内连接⭐ 2. 显式内连接 &#x1f308; 二、外连接⭐ 0. 准备工作⭐ 1. 左外连接⭐ 2. 右外连接 &#x1f308; 一、内连接 内连接实际上就是利用 where 子句对两张表形成的笛卡儿积进行筛选&#xff0c;之前所有的…

git错误fatal: Unpack error, check server log

git错误fatal: Unpack error, check server log fatal: Unpack error, check server log error: remote unpack failed: error Missing tree xxxxxxxxxxxxxxxxxx 先执行 git fetch 命令&#xff0c;再push。 git拉取远程所有分支/添加远程仓库_git pull所有分支代码-CSDN博客…

SQL基础——MySQL的触发器、存储引擎、事务

简介&#xff1a;个人学习分享&#xff0c;如有错误&#xff0c;欢迎批评指正。 一、MySQL的触发器 1.概述 介绍 触发器&#xff0c;就是一种特殊的存储过程。触发器和存储过程一样是一个能够完成特定功能、存储在数据库服务器上的SQL片段&#xff0c;但是触发器无需调用&…

StarRocks 存算分离 Compaction 原理

前言 StarRocks 中每次数据摄入都会生成一个新的数据版本&#xff0c;而查询时需要将所有版本数据进行合并才能获得一个正确的结果&#xff0c;如果历史数据版本太多&#xff0c;那么查询时需要读取的文件数也会很多&#xff0c;造成查询效率低下。因而 StarRocks 存在内部任务…

【电子通识】IPC-A-600中对验收标准的定义

在文章【电子通识】IPC-A-610标准对产品的四种验收条件都是什么意思&#xff1f;中我们讲到IPC-A-610标准&#xff08;电子组件的可接受性&#xff09;对于产品的四种验收条件。本文中我们同理讲一讲IPC-A-600中对验收标准的定义。 IPC-A-600文件中的多数示意图和照片同时表示每…

66 IPV4/6 OSPFV2/3 实操

一 网络括谱图 二 IPV6 一 华为IPV6地址的配置思路 1 全局上开启IPV6功能 # ipv6 # 2 在指定的接口上配置IPV6地址上的接口上配置IPV6地址 ipv6 enable 3 在接口上配置IPV6地址 ipv6 address 2001:1::254/64 脚本 # interface GigabitEthernet0/0/1 ipv6 enable ip add…

怎么快速定位bug?如何编写测试用例?

&#x1f345; 点击文末小卡片&#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 作为一名测试人员如果连常见的系统问题都不知道如何分析&#xff0c;频繁将前端人员问题指派给后端人员&#xff0c;后端人员问题指派给前端人员&#xff0c;那么在…

set容器

基本概念 set容器只有键值&#xff0c;插入容器的时候自动根据键值排序&#xff0c;不允许有相同的键值set的迭代器是只读迭代器multiset特性及用法和set完全相同&#xff0c;唯一的差别就是在于他允许键值重复&#xff0c;set和multiset底层实现都是红黑树 常用操作&#xff…

nordic 蓝牙ble ble_hids_inp_rep_send发送数据采用缓存机制 发送失败后 检测到上一个发送完成再重新发前一个发送失败的数据

目录 1. 定义缓存结构 2. 初始化缓存队列 3. 添加数据到缓存队列 4. 发送数据函数 5. 初始化和事件处理 总结 在Nordic Semiconductor的BLE开发中,如果需要实现一种缓存机制来确保数据发送的可靠性,可以通过以下步骤实现: 定义缓存结构:用于存储待发送的数据。发送数据…

Axure设计之单选框教程(中继器)

在Axure RP中&#xff0c;通过结合中继器的强大功能&#xff0c;我们可以轻松实现动态加载的单选框列表&#xff0c;不仅可以根据数据自动调整选项宽度&#xff0c;还能实时更新选中状态。本教程将引导你完成一个使用中继器制作动态单选框列表的项目&#xff0c;包括案例分析、…

【论文阅读】DaST: Data-free Substitute Training for Adversarial Attacks(2020)

摘要 Machine learning models&#xff08;机器学习模型&#xff09; are vulnerable&#xff08;容易受到&#xff09; to adversarial examples&#xff08;对抗样本&#xff09;. For the black-box setting&#xff08;对于黑盒设置&#xff09;, current substitute atta…

Spring-MVC 结合 Swagger2

目录 一、引入依赖 二、创建Swagger配置类 三、修改Spring-MVC配置文件 四、在游览器打开 五、配置 Swagger 六、使用 Swagger 七、Swagger 的常用注解 ApiOperation() ApiModel ()、ApiModelProperty () 一、引入依赖 <dependency><groupId>io.springf…

Q*算法深度猜猜:从Q-learning优化到智能决策

Q*算法深度猜猜&#xff1a;从Q-learning优化到智能决策 引言 在强化学习&#xff08;Reinforcement Learning&#xff09;中&#xff0c;Q-learning算法作为一种无模型的学习方法&#xff0c;被广泛应用于解决各种决策优化问题。然而&#xff0c;尽管Q-learning在许多场景下…

游戏引擎详解——图片

图片 图片的格式 图片文件格式pngjpg 纹理压缩格式ETC1/2PVRTCASTC 图片的属性 图片属性解释分辨率宽高像素值&#xff08;pt&#xff09;&#xff0c;如&#xff1a;1024*1024位深度用来存储像素颜色的值&#xff0c;如RGBA8888&#xff0c;红黄蓝透明度4个维度每个8bit&…

在Windows Server 2012 R2上安装.NET Framework 3.5

在Windows Server 2012 R2上安装.NET Framework 3.5&#xff0c;可以按照以下步骤进行&#xff1a; 打开服务器管理器&#xff1a; 首先&#xff0c;登录到Windows Server 2012 R2的服务器。然后&#xff0c;打开“服务器管理器”。添加角色和功能&#xff1a; 在“服务器管理…

文件传送协议:FTP 的工作原理与应用

在网络环境中&#xff0c;将文件从一台计算机复制到另一台计算机是一项基本应用。文件传送协议&#xff08;File Transfer Protocol, FTP&#xff09; &#xff08;RFC959&#xff09;是互联网上使用最广泛的文件传输协议之一。FTP不仅提供交互式访问&#xff0c;允许用户指定文…

自然语言处理(NLP)大模型

自然语言处理&#xff08;NLP&#xff09;大模型 自然语言处理&#xff08;NLP&#xff09;领域中的一种重要技术&#xff0c;具有强大的语言理解和生成能力。以下是对NLP大模型的详细介绍&#xff1a; 一、定义与背景 NLP大模型是指通过大规模预训练和自监督学习技术构建的…

【STM32】I2C接口(一主多从)

本篇博客重点在于标准库函数的理解与使用&#xff0c;搭建一个框架便于快速开发 目录 前言 I2C外设简介 IO口初始化 I2C接口配置 I2C时钟配置 I2C初始化 I2C接口使能 I2C外设配置框架 主机的发送与接收 主机发送 主机接收 I2C例程 前言 I2C协议介绍&#xff1a;…

进程间的通信3——IPC对象通信->共享内存、网络通信

一、共享内存 1、原理 直接对实际物理内存进行操作&#xff0c;不用先拷贝到用户空间再到内核空间&#xff08;物理内存&#xff09;。 2、特点 &#xff08;1&#xff09;共享内存是一块内核预留的空间&#xff1b; &#xff08;2&#xff09;最高效的通信方式。 3、操作 产…