当前位置: 首页 > news >正文

初学总结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: demo
  datasource:
    url: jdbc:mysql://localhost:3306/my_database
    username: root
    password:
    driver-class-name: com.mysql.cj.jdbc.Driver

  devtools:
    restart:
      enabled: true
      additional-paths: src/main/java, src/main/resources, src/main/resources/static, src/main/resources/static/webapp

server:
  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中返回的内容了

相关文章:

  • 教育小程序+AI出题:如何通过自然语言处理技术提升题目质量
  • [npm install 报错] Verion 9 of Highlight.js has reached EOL
  • ESP32 WIFI
  • 封装一个sqlite3动态库
  • C#两个集合多属性组合关联得到新的组合
  • 机器学习算法 - 随机森林之决策树初探(1)
  • 哪些专业跟FPGA有关?
  • 计算机等级考试——计算机三级——网络技术部分
  • 多态、虚函数、动态绑定、虚指针加虚表是同一件事情。
  • 【Oracle】层次查询步骤,理解 where 条件执行顺序
  • DeepSeek帮助解决Oracle死锁问题
  • LeetCode刷题---字符串---859
  • 2768. 黑格子的数目|2175
  • AI时代前端开发:创造力的新引擎?
  • SQLMesh系列教程-3:SQLMesh模型属性详解
  • 探索边缘计算网关在优化交通信号控制中的关键角色
  • 行业视野 | 数字化赋能:作战体系仿真推演可视化与效能评估
  • [LeetCode] 二叉树 III — 110#平衡二叉树 | 257#二叉树的所有路径 | 404#左叶子之和 | 222#完全二叉树的节点个数
  • 【LeetCode Hot100 子串】和为 k 的子数组、滑动窗口最大值、最小覆盖子串
  • 5、《Spring Boot自动配置黑魔法:原理深度剖析》
  • 综艺还有怎样的新可能?挖掘小众文化领域
  • 伤员回归新援融入,海港逆转海牛重回争冠集团
  • 四川资阳市原市长王善平被双开,“笃信风水,大搞迷信活动”
  • 江西省直机关工委副书记熊亮华履新宜春市委常委、宣传部部长
  • “一嗨租车”陷“五年后扣费”疑云,用户:违章处理莫名消失
  • 体坛联播|曼联热刺会师欧联杯决赛,多哈世乒赛首日赛程出炉