初学总结SpringBoot项目在mac上环境搭建和运行

mac一定要安装上homebrew,这个玩意在mac上搭建环境贼拉好用,打开终端安装国内镜像的

/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"

1. brew安装maven

brew install maven

2.修改maven国内镜像
mac上homebrew安装路径一般 macintosh hd,里面的隐藏文件opt中,使用 cmd+shift+. 快捷键显示出隐藏文件,找到路径
/opt/homebrew/cellar/maven/3.9.9/libexec/conf/setting.xml,使用记事本打开,在 标签下添加镜像设置,并保存

<mirror><id>aliyun</id><mirrorOf>*</mirrorOf><url>https://maven.aliyun.com/repository/public</url>
</mirror>

3.brew安装mysql brew安装的mysql本地配置默认用户名是root,且没有密码,这很重要,通过brew info mysql查看

brew install mysql

在这里插入图片描述

4.启动mysql

mysql.service start
mysql -u root -p
//一般无密码,无需输入直接回车,mysql就启动了

下图就是sql本地服务启动成功:
在这里插入图片描述

5.vscode创建springboot项目, 安装必须的vscode插件
chinese language pack for visual… 汉化插件根据个人需求安装
extension for java (microsoft)
maven for java (microsoft)
project manager for java (microsoft)
spring boot dashboard (microsoft)
spring initializr java support (microsoft)
spring boot tools (vmware)
spring boot extension pack (vmware)
mysql (weijian chen)
xml(red hat)

6.创建springboot项目
输入框输入 >spring 选择spring initializr
选择springboot版本 第一个即可 3.4.2
选择语言 java/kotlin
输入包名 com.example.demo
输入项目名,也是打包输出的默认名字 demo
打包输出选择 jar
jdk版本选择 18,没有的随便选一个,后面再改,
选择依赖:先选个spring boot devtool, lombok, 或者不选,项目编译好后再加
选择保存位置
vscode弹出提示框点击 open 打开项目,
构建失败不要紧,配置一下:
pom.xm

<properties><java.version>1.8</java.version><mybatisplus-spring-boot-starter.version>1.0.5</mybatisplus-spring-boot-starter.version><mybatisplus.version>2.3.1</mybatisplus.version><poi.version>3.9</poi.version>
</properties><repositories><repository><id>aliyun</id><url>https://maven.aliyun.com/repository/public</url></repository><repository><id>central</id><url>https://repo1.maven.org/maven2</url></repository><repository><id>spring-milestones</id><name>Spring Milestones</name><url>https://repo.spring.io/milestone</url><snapshots><enabled>false</enabled></snapshots></repository><repository><id>spring-snapshots</id><name>Spring Snapshots</name><url>https://repo.spring.io/snapshot</url><releases><enabled>false</enabled></releases></repository></repositories><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><scope>runtime</scope><optional>true</optional></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><!-- 添加Servlet依赖模块 --><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>4.0.1</version><scope>provided</scope></dependency><!-- 添加JSTL标签库依赖模块 --><dependency><groupId>javax.servlet</groupId><artifactId>jstl</artifactId><version>1.2</version></dependency><!-- 使用JSP引擎,SpringBoot内置Tomcat没有此依赖 --><dependency><groupId>org.apache.tomcat.embed</groupId><artifactId>tomcat-embed-jasper</artifactId><scope>provided</scope></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.26</version><scope>runtime</scope></dependency><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.1.13</version></dependency><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.83</version></dependency><!-- swagger2生成api文档 --><dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger2</artifactId><version>2.9.2</version></dependency><dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger-ui</artifactId><version>2.9.2</version></dependency><!-- mybatis-plus begin --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-jdbc</artifactId></dependency><dependency><groupId>com.baomidou</groupId><artifactId>mybatisplus-spring-boot-starter</artifactId><version>${mybatisplus-spring-boot-starter.version}</version></dependency><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus</artifactId><version>${mybatisplus.version}</version></dependency><!-- mybatis-plus end --><!-- commons --><dependency><groupId>commons-io</groupId><artifactId>commons-io</artifactId><version>2.6</version></dependency><dependency><groupId>commons-fileupload</groupId><artifactId>commons-fileupload</artifactId><version>1.3.3</version></dependency><dependency><groupId>commons-logging</groupId><artifactId>commons-logging</artifactId><version>1.2</version></dependency><!-- Mybatis --><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.4.5</version></dependency><dependency><groupId>org.mybatis</groupId><artifactId>mybatis-spring</artifactId><version>1.3.1</version></dependency><!-- lombok --><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency><!-- log4j --><dependency><groupId>org.apache.logging.log4j</groupId><artifactId>log4j-api</artifactId><version>2.10.0</version></dependency><dependency><groupId>org.junit.jupiter</groupId><artifactId>junit-jupiter-api</artifactId><version>RELEASE</version><scope>test</scope></dependency><!-- 支付宝支付 --><dependency><groupId>com.alipay.sdk</groupId><artifactId>alipay-sdk-java</artifactId><version>4.33.10.ALL</version></dependency><!-- 微信支付 --><dependency><groupId>com.github.wechatpay-apiv3</groupId><artifactId>wechatpay-apache-httpclient</artifactId><version>0.4.8</version></dependency><dependency><groupId>com.github.binarywang</groupId><artifactId>weixin-java-pay</artifactId><version>4.3.8.B</version></dependency><!-- hutool --><dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.8.5</version></dependency><!-- Redis --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency><!-- poi office --><dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>${poi.version}</version></dependency><dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId><version>${poi.version}</version></dependency><dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml-schemas</artifactId><version>${poi.version}</version></dependency></dependencies>

保存后自动构建好,可以写项目代码

7.创建数据库表
将 src/mian/resources目录下的aoolication.properties改为application.yml, yml文件配置结构更清晰用得最多,配置数据库,我本地数据库是没有密码的,根据个人mysql配置区别看,数据库默认端口3306,不要尝试去修改,没那个必要本,server的端口号自己定,不要用8080,容易被占用

spring:application:name: demodatasource:url: jdbc:mysql://localhost:3306/my_databaseusername: rootpassword:driver-class-name: com.mysql.cj.jdbc.Driverdevtools:restart:enabled: trueadditional-paths: src/main/java, src/main/resources, src/main/resources/static, src/main/resources/static/webappserver:port: 8083

vscode下载好mysql插件后,在工具栏点击插件,点击+号创建数据库连接,顶部名称 分组自定义,端口默认本地localhost的ip 127.0.0.1,端口号设置为applicaiton.yml中datasource标签下的地址端口,用户名是datasource下username,password也是相同,可为空,连接之前确保第4步中的mysql已经正确启动,切用户名和密码都是对应的,然后点击连接插件界面就会提示连接成功

在这里插入图片描述
提示连接成功后,点击左侧+号创建自己的数据库,语法已经备好,直接输入名字即可,然后点击run灰色按键,提示绿色则是创建成功,创建完成后会在左侧连接下显示自己刚刚创建的数据库
在这里插入图片描述
点击数据库下面的tables 右侧的+号,添加数据库表,同样语法已经准备好,输入自己定义的字段名,类型,点击run按钮,运行通过,则会在数据库下显示自己创建的表,可以直接在create那个页面直接写 insert语句,添加需要的内容
在这里插入图片描述
插入数据后,点击创建的表名,右侧即可预览表的内容,可以在属性 数据状态栏的下面哪里直接执行sql语句,点击输入框下面的三角形运行按钮,即可筛选表中的数据,点击+号增加内容,或者直接insert语句增加内容。
也可以在属性中修改表中字段的属性
在这里插入图片描述
点击啊编辑按钮则可修改字段属性
至此,整个环境搭建完毕,可以着手写control server mapper data来对外提供api接口了,
域名localhost,
端口则是application.yml中server:port:8083配置的端口,
域名是在 server:servlet:context-path: /demo 中配置,可以不设置
再后面则是在control中 requestmapping(“/api/account”)中的路径
最后则是方法getmapping(“/login”) 定义的方法名:
浏览器输入 localhost:8083/demo/api/account/login,即可获取control中返回的内容了

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

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

相关文章

TCP/IP参考模型和网络协议

由于国防部担心他们一些重要的主机、路由器和互联网关可能会突然崩溃&#xff0c;所以网络必须实现的另一目标是网络不受子网硬件损失的影响&#xff0c;已经建立的会话不会被取消&#xff0c;而且整个体系结构必须相当灵活。 TCP/IP是一组用于实现网络互连的通信协议。Interne…

网络安全 | 安全信息与事件管理(SIEM)系统的选型与实施

网络安全 | 安全信息与事件管理&#xff08;SIEM&#xff09;系统的选型与实施 一、前言二、SIEM 系统的功能概述2.1 数据收集与整合2.2 实时监控与威胁检测2.3 事件响应与自动化2.4 合规性管理 三、SIEM 系统选型的关键因素3.1 功能需求评估3.2 可扩展性与性能3.3 易用性与可维…

Java中的分布式(概念说明)

1. 分布式的基本概念 1.1 什么是分布式系统&#xff1f; 分布式系统&#xff08;Distributed System&#xff09;&#xff1a;由多台服务器&#xff08;或节点&#xff09;协同工作&#xff0c;对外提供一个整体服务。不同节点之间通过网络通信来协同处理请求或共享数据&…

简单了解应用层DNS协议

DNS&#xff08;Domain Name System&#xff09;协议是用于将人类可读的域名&#xff08;如www.example.com&#xff09;转换为计算机可识别的IP地址&#xff08;如192.0.2.1&#xff09;的系统。 TCP/IP中使用IP地址来确定网络上的一台主机&#xff0c;但是IP地址不方便人们记…

Windows 找不到文件gpedit.msc,没有组策略编辑器,解决办法附上

windows10和11都通用。是不是有人告诉你家庭版本没有gpedit.msc&#xff0c;没有组策略编辑器&#xff1f;这压根就是某软玩的小把戏。Win10/11家庭版可通过修改文件后缀新建bat脚本&#xff0c;添加组策略包&#xff0c;以管理员身份运行后&#xff0c;输入gpedit.msc即可打开…

“PEP 8: W292 no newline at end of file“报错 IntelliJ IDEA自动添加空行问题

"PEP 8: W292 no newline at end of file"报错 IntelliJ IDEA自动添加空行问题 在使用IntelliJ IDEA的过程中&#xff0c;经常会发现不管是对于代码文件或者纯文本文件&#xff0c;在保存时中会在文件末尾加上一个空行&#xff0c;提交GIT对比检查时&#xff0c;总是…

线性数据结构解密:数组的定义、操作与实际应用

系列文章目录 01-从零开始掌握Python数据结构&#xff1a;提升代码效率的必备技能&#xff01; 02-算法复杂度全解析&#xff1a;时间与空间复杂度优化秘籍 03-线性数据结构解密&#xff1a;数组的定义、操作与实际应用 文章目录 系列文章目录前言一、数组的定义与特点1.1 数组…

docker-compose.yml 详细教学

目录 文件结构 版本 服务&#xff08;Services&#xff09; 示例 文件结构 docker-compose.yml 文件通常包含以下几部分&#xff1a; version&#xff1a;指定 Docker Compose 文件的版本。services&#xff1a;定义应用程序中的服务&#xff0c;每个服务对应一个容器。vo…

spring 学习 (注解)

目录 前言 常用的注解 须知 1 Conponent注解 demo&#xff08;案例&#xff09; 2 ControllerServiceRepository demo(案例&#xff09; 3 ScopeLazyPostConstructPreDestroy demo(案例&#xff09; 4 ValueAutowiredQualifierResource demo(案例&#xff09; 5 Co…

【设计模式】【行为型模式】迭代器模式(Iterator)

&#x1f44b;hi&#xff0c;我不是一名外包公司的员工&#xff0c;也不会偷吃茶水间的零食&#xff0c;我的梦想是能写高端CRUD &#x1f525; 2025本人正在沉淀中… 博客更新速度 &#x1f44d; 欢迎点赞、收藏、关注&#xff0c;跟上我的更新节奏 &#x1f3b5; 当你的天空突…

C语言-------结构体(1)

数据类型 &#xff08;1&#xff09;基本数据类型 整型 浮点型 字符型 &#xff08;2&#xff09;构造类型 数组 结构体 结构体: 用来处理&#xff0c;现实生活中&#xff0c;更复杂的数据的描述 用来 描述复杂数据的 一种用户自定义的数…

【centos7】安装redis

rpm链接&#xff1a;http://rpms.famillecollet.com/enterprise/remi-release-7.rpm 下载remi源 wget http://rpms.famillecollet.com/enterprise/remi-release-7.rpm 安装remi源 rpm -ivh remi-release-7.rpm 查找remi源中redis的版本 yum --enablereporemi list redis …

获取整十分钟时间戳的多种方法详解

在数据处理、定时任务等场景中&#xff0c;经常需要获取当前时间的整十分钟时间戳。本文将介绍两种常用方法&#xff0c;并拓展其他实现思路&#xff0c;帮助你灵活应对不同需求。 方法一&#xff1a;datetime模块计算法 原理&#xff1a;通过截断分钟数实现时间对齐。 代码实…

AcWing 798. 差分矩阵

题目来源&#xff1a; 找不到页面 - AcWing 题目内容&#xff1a; 输入一个 n 行 m 列的整数矩阵&#xff0c;再输入 q 个操作&#xff0c;每个操作包含五个整数 x1,y1,x2,y2,c&#xff0c;其中 (x1,y1) 和 (x2,y2)表示一个子矩阵的左上角坐标和右下角坐标。 每个操作都要将…

【Python爬虫①】专栏开篇:夯实Python基础

【Python爬虫】专栏简介&#xff1a;本专栏是 Python 爬虫领域的集大成之作&#xff0c;共 100 章节。从 Python 基础语法、爬虫入门知识讲起&#xff0c;深入探讨反爬虫、多线程、分布式等进阶技术。以大量实例为支撑&#xff0c;覆盖网页、图片、音频等各类数据爬取&#xff…

数仓:核心概念,数仓系统(ETL,数仓分层,数仓建模),数仓建模方法(星型模型,雪花模型,星座模型)和步骤

数仓建模的核心概念 事实表&#xff08;Fact Table&#xff09;&#xff1a; 存储业务过程的度量值&#xff08;如销售额、订单数量等&#xff09;。 通常包含外键&#xff0c;用于关联维度表。 维度表&#xff08;Dimension Table&#xff09;&#xff1a; 存储描述性信息&…

【靶机渗透实战】AI:WEB:1

靶机下载官网AI: Web: 1 ~ VulnHub 靶机描述 Difficulty: IntermediateNetwork: DHCP (Automatically assign)Network Mode: NATThis box is designed to test skills of penetration tester. The goal is simple. Get flag from /root/flag.txt. Enumerate the box, get low…

MATLAB中contains函数用法

目录 语法 说明 示例 查找文本 使用模式进行搜索 匹配列表中的任何文本 忽略大小写 确定字符向量中是否包含子字符串 contains函数的功能是确定字符串中是否有模式。 语法 TF contains(str,pat) TF contains(str,pat,IgnoreCase,true) 说明 如果 str 包含指定的模…

【limit 1000000,10 加载很慢该怎么优化?】

在 SQL 数据库中,使用 LIMIT 子句进行分页查询时,如果偏移量(offset)很大,查询性能可能会变得非常差。 这是因为数据库需要扫描和跳过大量的记录才能到达所需的起始位置,然后再取出所需的记录数。 例如,LIMIT 1000000, 10 表示跳过前 100 万条记录,然后取接下来的 10…

Python基于 Flask 创建简单Web服务并接收文件

在全部网口上创建web服务, 监听8080端口关闭debug模式GET时返回HTML界面, 用于提交文件POST到 /upload 时, 从接收的 file 变量中读取文件, 并传递给 opencv 解析为 image 对象 from flask import Flask, request, redirect, url_for import os import cv2 import numpy impor…