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

初学总结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中返回的内容了


http://www.kler.cn/a/546667.html

相关文章:

  • 每日一题——最长公共子序列
  • gitcode使用导航
  • ProxySQL构建PolarDB-X标准版高可用路由服务三节点集群
  • 盛铂科技SWFA200捷变频频率综合器:高速跳频与卓越性能的完美结合
  • flutter常见面试题(欢迎私信投稿——更新到10)
  • 华为手机鸿蒙4回退到鸿蒙3到鸿蒙2再回退到EMUI11 最后关闭系统更新
  • 独立C++ asio库实现的UDP Client
  • 鸿蒙Next开发-添加水印以及点击穿透设置
  • 在带有Intel NPU的Windows上安装IPEX-LLM
  • RadASM环境,win32汇编入门教程之三
  • 基于Ceedling的嵌入式软件单元测试
  • 数字图像基础:像素、分辨率、灰度图像与彩色图像
  • 【代码随想录】刷题记录(115)-岛屿数量(广搜)
  • Vue3 从入门到精通:全面掌握前端框架的进阶之路
  • Java 设计模式之组合模式
  • Windows 图形显示驱动开发-WDDM 2.0 -Gpu段
  • 云计算——ACA学习 云计算分类
  • ESP学习-1(MicroPython VSCode开发环境搭建)
  • Redis——优惠券秒杀问题(分布式id、一人多单超卖、乐悲锁、CAS、分布式锁、Redisson)
  • 百度宣布:免费!