一文详解MacOS使用VSCode搭建SpringBoot+Gradle开发环境

封面图

开发后端Java应用时,大多数开发者使用的是IntelliJ IDEA,但该软件是一个付费软件,所以希望可以使用开源且免费的VSCode来创建和开发后端项目。本文为本人在 Mac 上使用 Visual Studio Code(简称 VSCode)集成开发环境来搭建一个基于 Spring Boot 和 Gradle 的开发环境的记录笔记。无论你是刚刚接触 Spring Boot 的新手还是有经验的开发者,这篇教程都将帮助你顺利开始你的 Spring Boot 之旅。

  • 安装JDK
  • 安装VSCode
  • 安装VSCode插件
  • 创建springboot应用
  • 配置项目和运行hello world

一、安装JDK

访问 Oracle JDK 官方网站下载适合Mac OS的版本。

Oracle JDK官方下载地址:
https://www.oracle.com/java/technologies/downloads/

根据电脑cpu架构选择下载Intel版本或ARM64版本,下载完成后直接点击安装。

Oracle JDK官方

安装完成后需要对JAVA_HOME进行配置,在bash_profile文件中添加如下环境变量配置:

# JAVA
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-23.jdk/Contents/Home
export PATH=$JAVA_HOME/bin:$PATH:.
export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:.

保存文件后关闭编辑器,执行以下命令设置生效:

source ~/.bash_profile

执行 java -version 查看sdk是否安装成功,出现版本号说明已经安装成功。

java -version

二、安装VSCode

访问 Visual Studio Code 官方网站下载适用于Mac OS的安装包。

VSCode官方下载地址:
https://code.visualstudio.com/

下载VSCode后,直接安装即可。

官方下载VSCode

三、安装VSCode插件

  • VSCode安装java插件
  • VSCode安装SpringBoot插件
  • VSCode安装Gradle插件

3.1 VSCode安装java插件

在VSCode官方,点击Install the Extension Pack for Java安装Java插件

VSCode官方Install the Extension Pack for Java插件:
https://code.visualstudio.com/docs/java/java-tutorial

Install the Extension Pack for Java

Extension Pack for Java

3.2 VSCode安装SpringBoot插件

在VSCode官方,点击Install the Spring Boot Extension Pack安装SpringBoot插件

VSCode官方Install the Spring Boot Extension Pack插件:
https://code.visualstudio.com/docs/java/java-spring-boot

Install the Spring Boot Extension Pack

Spring Boot Extension Pack

3.3 VSCode安装Gradle插件

在VSCode官方,点击Gradle for Java安装Gradle插件

VSCode官方Gradle for Java extension插件:
https://code.visualstudio.com/docs/java/java-build

Gradle for Java extension

Gradle for Java extension

四、创建springboot应用

使用命令命令面板 Spring Init 自动生成Spring Boot项目结构。

Spring Init 自动生成Spring Boot项目

Spring Init 自动生成Spring Boot项目

Spring Init 自动生成Spring Boot项目

Spring Init 自动生成Spring Boot项目

Spring Init 自动生成Spring Boot项目

Spring Init 自动生成Spring Boot项目

Spring Init 自动生成Spring Boot项目

Spring Init 自动生成Spring Boot项目

选择依赖,创建项目时只需选择最基础的依赖,其他依赖可以在开发过程中按需添加:

选择依赖

点击open打开项目,等待下载依赖和加载完成,至此项目创建成功。

open打开项目

五、配置和运行项目

5.1 创建HelloController.java

基于编辑器创建的默认SpringBoot工程,在com.example.demo目录下创建 HelloController.java 文件。

HelloController.java 文件位置

HelloController.java 代码内容如下:

package com.example.demo;import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.GetMapping;@RestController
public class HelloController {@GetMapping("hello")public String hello() {return "hello world!";}
}

5.2 配置application.properties

配置application.properties文件

配置application.properties文件

application.properties 配置如下:

spring.application.name=demo
server.port=8090
server.servlet.context-path=/page

5.3 bootRun启动服务

bootRun启动服务。

bootRun启动服务

打开浏览器访问:http://localhost:8090/page/hello

http://localhost:8090/page/hello

六、参考

VSCode官方:Getting Started with Java in VS Code
https://code.visualstudio.com/docs/java/java-tutorial

VSCode官方:Spring Boot support in Visual Studio Code
https://code.visualstudio.com/docs/java/java-spring-boot

VSCode搭建SpringBoot+Maven开发环境:
https://www.cnblogs.com/huangczh/p/18095555

VSCode搭建SpringBoot+Maven开发环境:
https://blog.csdn.net/DTDanteDong/article/details/111857559

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

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

相关文章

Kafka 之事务消息

前言: 在分布式消息系统中,事务消息也是一个热门课题,在项目的实际业务场景中,如果用到事务消息的场景也不少见,那 Kafka 作为一个高性能的分布式消息中间件,同样也支持事务消息,本篇我们将对 …

创建者模式之【建造者模式】

建造者模式 概述 将一个复杂对象的构建与表示分离,使得同样的构建过程可以创建不同的表示。 分离了部件的构造(由Builder来负责)和装配(由Director负责)。 从而可以构造出复杂的对象。这个模式适用于:某个对象的构建过程复杂的情况。由于实现了构建和…

pyspark入门基础详细讲解

1.前言介绍 学习目标:了解什么是Speak、PySpark,了解为什么学习PySpark,了解课程是如何和大数据开发方向进行衔接 使用pyspark库所写出来的代码,既可以在电脑上简单运行,进行数据分析处理,又可以把代码无缝…

5. 类加载子系统

一、前言 前面我们了解了字节码文件的大致组成部分,那么 JVM 是如何加载 .class字节码文件的?加载到.class字节码文件后又做了哪些事情呢? 二、类加载子系统初步认识 首先类加载子系统作为虚拟机和外界的一个对接口,主要负责以…

AI 写作(六):核心技术与多元应用(6/10)

一、AI 写作的核心技术概述 AI 写作在当今数字化时代正发挥着越来越重要的作用。它不仅极大地提高了写作效率,还为不同领域带来了创新的可能性。 AI 写作的核心技术主要包括基于模板的文本生成和基于深度学习的文本生成。基于模板的文本生成通常依赖预先设定的模板…

Java-如何实现实现两个异步带有@Async注解的方法按顺序执行

要实现两个带有 @Async 注解的方法按顺序执行,可以使用 CompletableFuture 来管理异步任务 的依赖关系。下面是一个完整的示例,展示了如何确保 method1 执行完成后,再执行 method2。 import org.springframework.scheduling.annotation.Async; import org.springframework…

显卡驱动版本过低怎么办?显卡驱动升级的方法

显卡驱动程序是计算机与显卡之间沟通的桥梁,它负责将操作系统发出的指令翻译成显卡可以理解的语言,从而确保图形显示的流畅与高效。当您遇到显卡驱动版本过低的问题时,升级驱动程序不仅能够提升电脑的图形处理能力,还能解决兼容性…

Qt 环境实现视频和音频播放

在这个示例中,我们将使用 FFmpeg 进行视频和音频的解码,并使用 Qt 的界面进行显示和控制。为了实现音频和视频的解码以及同步显示,我们需要使用 FFmpeg 的解码库进行视频和音频解码,使用 Qt 的 QLabel 显示解码后的视频帧&#xf…

java导出word文件(手绘)

文章目录 代码细节效果图参考资料 代码细节 使用的hutool的WordUtil,WordUtil对poi进行封装,但是这一块的官方封装的很少,很多细节都没有。代码中是常见的绘制段落,标题、表格等常用api Word07Writer writer WordUtil.getWriter(…

UML的另一个主角——用例图

顺序图和类图已经出过单集,本贴要分享的是用例图。 类图https://blog.csdn.net/jsl123x/article/details/143526286?spm1001.2014.3001.5501顺序图https://jslhyh32.blog.csdn.net/article/details/134350587 目录 一.系统 二.参与者 1.主要参与者 2.次要参与…

《TCP/IP网络编程》学习笔记 | Chapter 4:基于TCP的服务器端/客户端(1)

《TCP/IP网络编程》学习笔记 | Chapter 4:基于TCP的服务器端/客户端(1) 《TCP/IP网络编程》学习笔记 | Chapter 4:基于TCP的服务器端/客户端(1)理解TCP和UDPTCP/IP协议栈TCP/IP协议的诞生背景链路层网络层T…

【基于PSINS工具箱】以速度为观测量的SINS/GNSS组合导航,UKF滤波

基于【PSINS工具箱】,提供一个MATLAB例程,仅以速度为观测量的SINS/GNSS组合导航(滤波方式为UKF) 文章目录 工具箱程序简述运行结果 代码程序讲解MATLAB 代码教程:使用UKF进行速度观测1. 引言与基本设置2. 初始设置3. U…

【Vue】Vue3.0(十七)Vue 3.0中Pinia的深度使用指南(基于setup语法糖)

上篇文章: 【Vue】Vue3.0(十一)Vue 3.0 中 computed 计算属性概念、使用及示例 🏡作者主页:点击! 🤖Vue专栏:点击! ⏰️创作时间:2024年11月10日15点23分 文章…

通过C++跨平台的预编译宏来区分不同的操作系统:Win32/Win64/Unix/Linux/MacOS

因为 C 具有跨平台的特性,所以有些需求一套代码就多端使用,比如我最近在学习的 OpenGL ES。 但是,不同平台还是具有一定差异性,所以我们首先得判断出是什么平台? 比如 iOS 系统和 Android 系统。 那么如何判断呢&…

工程认证导向的Spring Boot计算机课程管理平台

1系统概述 1.1 研究背景 随着计算机技术的发展以及计算机网络的逐渐普及,互联网成为人们查找信息的重要场所,二十一世纪是信息的时代,所以信息的管理显得特别重要。因此,使用计算机来管理基于工程教育认证的计算机课程管理平台的相…

跨境云专线:构建高速、安全的全球业务网络

在企业出海加速的背景下,越来越多的企业需要在全球范围内部署业务,特别是在多个国家和地区之间进行数据传输。然而,跨境网络连接常常面临带宽不足、延迟高、数据安全性差等问题,这给企业的业务运营带来了巨大挑战。为了解决这些问…

分布式——BASE理论

简单来说: BASE(Basically Available、Soft state、Eventual consistency)是基于CAP理论逐步演化而来的,核心思想是即便不能达到强一致性(Strong consistency),也可以根据应用特点采用适当的方…

【后端速成Vue】模拟实现翻译功能

前言: 本期将会介绍 Vue 中的 watch 侦听器,它语法是怎么样的呢?具有怎样的功能呢?最后用模拟实现百度翻译来更进一步练习 watch 侦听器 篮球哥找工作专属IT岗位内部推荐: 专属内推链接:内推通道 1、认识翻…

UE5.4 PCG 获取地形Layer

使用AttributeFilter:属性过滤器 节点 设置地形Layer名称和权重 效果:

使用wordpress搭建简易的信息查询系统

背景 当前有这样的一个需求,要实现让客户能够自助登录系统查询一些个人的信息,市面上没有特别符合我的需求的产品,经过一段时间的研究,想出了一个用wordpress实现简易信息查询系统,有两种方式。 方式一:使…