2023 最新版IntelliJ IDEA 2023.1创建Java Web前(vue3)后端(spring-boot3)分离 项目详细步骤(图文详解)

文章目录

  • 🚩 接上篇
  • 🏳‍🌈 项目构建所需的相关工具
    • Java
    • IDEA
    • maven
    • NodeJS
    • Vue
    • Visual Studio Code
  • 🌌 后端项目创建详细步骤
    • 🛫 1、开始创建新项目
    • 🛫 2、输入项目名称、选择项目存储位置、项目管理工具(Maven)、选择JDK以及Java版本而后 Next
    • 🛫 3、选择spring boot版本、选择需要的插件而后Create
    • 🛫 4、等待创建完成,这是创建完成后的项目结构
    • 🛫 6、配置端口号,如果需要使用数据库或者Redis等,也是在这个文件里面进行配置
    • 🛫 7、创建接口
      • 🛫 7.1 首先需要在主包(一定得是主包,不然扫描不到这个接口)中创建一个命名为controller(也可以用其它名字,不过为了规范,基本是使用这个来命名)的包
      • 🛫 7.2 在创建的controller包中新建一个 类 ,这里命名为 hello,在hello类中写测试接口
    • 🛫 8、点击项目名称右边的绿色的三角形符号、运行spring-boot,
  • 🪐 前端vue项目创建详细步骤
    • 🚤 1、vue脚手架全局安装
    • 🚤 2、vue创建
    • 🚤 3、使用VScode打开项目修改请求端口,而后启动项目
      • 🚤 3.1 vue.config.js文件中的接口相关配置
      • 🚤 3.2 启动vue 项目
  • 🌏 最后

🚩 接上篇

2023 最新版IntelliJ IDEA 2023.1创建Java Web 项目详细步骤(图文详解)

本篇使用当前Java Web开发主流的spring-boot3框架来创建一个Java前后端分离的项目,前端使用的也是目前前端主流的vue3进行一个简单的项目搭建,让你距离Java全栈开发更近一步 🏴‍☠️。

🏳‍🌈 项目构建所需的相关工具

Java

  • 使用版本: “17.0.1” 2021-10-19 LTS
  • 官方地址:https://www.oracle.com/java/technologies/downloads/
  • DOS查询:java --version
  • 如果不是这个版本的建议使用使用这个版本,别去使用20版本来创建

IDEA

  • 使用版本: IntelliJ IDEA 2023.1
  • 官方地址:https://www.jetbrains.com/zh-cn/idea/download/#section=windows

maven

  • 使用版本:apache-maven-3.9.2
  • 官方地址:https://maven.apache.org/download.cgi

NodeJS

  • 使用版本:18.16.0
  • 官方地址:https://nodejs.org/en

Vue

  • 脚手架版本:@vue/cli 5.0.8
  • vue版本:3.0 ^
  • 官方地址:https://cn.vuejs.org/

Visual Studio Code

  • 官方地址:https://code.visualstudio.com/
  • 个人网盘:阿里云网盘下载

🌌 后端项目创建详细步骤

🛫 1、开始创建新项目

在这里插入图片描述

🛫 2、输入项目名称、选择项目存储位置、项目管理工具(Maven)、选择JDK以及Java版本而后 Next

注:这里没有JDK17的可以在JDK项目中去选择后进行下载

在这里插入图片描述

🛫 3、选择spring boot版本、选择需要的插件而后Create

注:因为只是作为一个示例版本,这里只选择了 spring web,你可以视情况去选择插件,后期如果需要也可以在 pom.xml文件中进行新增

在这里插入图片描述

🛫 4、等待创建完成,这是创建完成后的项目结构

注:这时已经可以点击项目名称右侧的绿色小三角形启动项目了,但是我们没有写接口,即使启动了也没法做相关测试
在这里插入图片描述

🛫 6、配置端口号,如果需要使用数据库或者Redis等,也是在这个文件里面进行配置

在这里插入图片描述

🛫 7、创建接口

🛫 7.1 首先需要在主包(一定得是主包,不然扫描不到这个接口)中创建一个命名为controller(也可以用其它名字,不过为了规范,基本是使用这个来命名)的包

在这里插入图片描述

🛫 7.2 在创建的controller包中新建一个 类 ,这里命名为 hello,在hello类中写测试接口

在这里插入图片描述

package com.example.springboot3demo.controtler;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class hello {@GetMapping("/hello")public String index(){return "hello spring-boot3";}
}

🛫 8、点击项目名称右边的绿色的三角形符号、运行spring-boot,

下面两图运行后的IDEA界面以及浏览器请求接口的界面
在这里插入图片描述

在这里插入图片描述

🪐 前端vue项目创建详细步骤

相对于后端的搭建,前端就轻松很多了,只需要输入命令即可完成项目搭建和下载、启动,使用VScode编辑项目

🚤 1、vue脚手架全局安装

npm i -g @vue/cli-init 

🚤 2、vue创建

在项目目录位置打开cmd窗口,而后输入以下命令,app是项目名,你可以自定义

vue create app

默认选择的就是Vue 3,enter确认就可以了
在这里插入图片描述

🚤 3、使用VScode打开项目修改请求端口,而后启动项目

此时,前端只要是用 /api开头的请求,都会被转发至 我们新创建的那个项目下,至于怎么请求,可以参考我这里给出的链接这篇文章,就不做赘言了
axios和async / await的基本用法

在这里插入图片描述

🚤 3.1 vue.config.js文件中的接口相关配置

const {defineConfig
} = require('@vue/cli-service')
module.exports = defineConfig({transpileDependencies: true,lintOnSave: false, //关闭语法检查assetsDir: "static",devServer: {port: "8000",proxy: {'/api': {target: 'http://127.0.0.1:9000',pathRewrite: {'^/api': '/api'},changeOrigin: true,ws: true}}},
})

🚤 3.2 启动vue 项目

npm run server

🌏 最后

至此、完成以上步骤,你就可以搭建一个属于自己的Java前后端分离项目了,完结撒花 🌼。

今天也是2023年度的六一儿童节,祝愿我们所有的小朋友节日快乐,身体健康,幸福成长。💐

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

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

相关文章

昇思25天学习打卡营第4天|yulang

今天主要了解了数据集 Dataset,主要包含了:数据集加载、数据集迭代、数据集常用操作、 可随机访问数据集、可迭代数据集、生成器。对于生成器很好理解,用代码来造数据,可以动态地生成数据。主要作用数据集通常被用于训练模型

tampermonkey插件下载国家标准文件

#创作灵感# 最近在一个系统招标正文中看到了一些国家标准,想要把文章下载下来,方便查阅,但是“国家标准全文公开系统”网站只提供了在线预览功能,没有提供下载功能,但是公司又需要文件,在网上找了一些办法&…

gin项目部署到服务器并后台启动

文章目录 一、安装go语言环境的方式1.下载go安装包,解压,配置环境变量2.压缩项目上传到服务器并解压3.来到项目的根目录3.开放端口,运行项目 二、打包的方式1.在项目的根目录下输入以下命令2.把打包好的文件上传到服务器3.部署网站4.ssl证书 …

C++字体库开发之字体回退三

代码片段 class FontCoverage { public: using SP std::shared_ptr<FontCoverage>; virtual ~FontCoverage() default; virtual void set(int index, FontTypes::CoverageLevel level) 0; virtual FontTypes::Coverag…

004 线程的状态

文章目录 Java线程可能的状态&#xff1a; 状态名称说明NEW初始状态&#xff0c;线程被构建&#xff0c;但是还没有调用start()方法RUNNABLE运行状态&#xff0c;Java线程将操作系统中的就绪和运行两种状态笼统地称作"运行中"BLOCKED阻塞状态&#xff0c;表示线程阻…

职场办公受欢迎的电脑桌面便签,手机电脑同步的备忘录

在快节奏的职场生活中&#xff0c;有效的时间管理和信息记录变得尤为重要。为了帮助大家更好地应对工作挑战&#xff0c;好用的电脑桌面便签和手机电脑同步的备忘录&#xff0c;好用便签应运而生&#xff0c;成为了当前职场办公中的得力助手。 好用便签是一款备受青睐的电脑桌…

阿里云物联网应用层开发:第三部分,微信小程序和web客户端实现

文章目录 哔哩哔哩视频教程1、阿里云物联网平台对接微信小程序2、阿里云物联网平台对接web客户端2-1MQTT服务器编写2-2 web端Servlet部分编写备注哔哩哔哩视频教程 【阿里云物联网综合开发,STM32+ESP8266+微信小程序+web客户端一篇教程详细讲解】 https://www.bilibili.com/v…

.NET下的开源OCR项目:解锁图片文字识别的新篇章

在数字化时代&#xff0c;从图片中高效准确地提取文字信息已成为众多应用场景的迫切需求。OCR&#xff08;Optical Character Recognition&#xff0c;光学字符识别&#xff09;技术正是满足这一需求的关键技术。对于.NET开发者而言&#xff0c;幸运的是&#xff0c;存在多个开…

c# 的 goto

搞循环感觉没什么必要 int number 0; Console.WriteLine("请输入一个数字&#xff08;输入-1结束&#xff09;:"); start: // 标签 number int.Parse(Console.ReadLine()); if (number -1) { Console.WriteLine("程序结束。"); } else { Cons…

接私活儿神器,一款功能强大的 SaaS 快速开发平台

今天&#xff0c;推荐一个微服务 SaaS 快速开发平台系统项目&#xff0c;笔者第一次使用就有点上头&#xff0c;爱不释手&#xff0c;必须要推荐给大家。 这是我目前见过最好的微服务 SaaS 快速开发平台系统项目。功能完整&#xff0c;代码结构清晰。值得推荐。 项目介绍 本…

nginx部署多个项目;vue打包项目部署设置子路径访问;一个根域名(端口)配置多个子项目

本文解决&#xff1a; vue打包项目部署设置子路径访问&#xff1b;nginx部署多个子项目&#xff1b;一个ip/域名 端口 配置多个子项目&#xff1b;配置后&#xff0c;项目能访问&#xff0c;但是刷新页面就丢失的问题 注&#xff1a;本文需要nginx配置基础。基础不牢的可见文…

昇思学习打卡-6-基于MindSpore的GPT2文本摘要

第一次近距离接触GPT&#xff0c;了解了tokenizers这个分词库&#xff0c;感觉NLP和CV对比起来&#xff0c;处理流程基本一致&#xff0c;都是数据集加载和处理&#xff0c;模型构建、选择学习率、模型训练&#xff0c;进而可以使用模型进行推理。 不同的是&#xff0c;NLP可能…

致力于打造一个操作最简单、功能最全面、创意最丰富的聊天记录管理工具

管理您的聊天数据 下载&#xff1a;https://download.csdn.net/download/mo3408/89497474 提供数据获取、导出、分析全栈式解决方案 获取信息 一键式操作&#xff0c;数据信手拈来 导出聊天记录 批量导出、自定义时间、消息类型任意选、Word、Excel、HTML、TXT想要哪个勾哪个…

在地图上根据经纬度,画一个矩型围栏,设置每个点的经纬度

在做一个需求时有一个小点就是添加一个配送区域(5公里直径内的)矩形围栏 我做的比较简单 大家看看有没有帮助, 也是精简代码。测试效果上相对是精准的 //谷歌&#xff0c;根据经纬度获取以它为中心半径为5公里内的矩形的四个点经纬度getDefalutPoints (lng: number, lat: num…

np.argsort

函数解释 np.argsort是NumPy库中的一个函数&#xff0c;用于对数组进行排序并返回排序后的索引。它不会直接对数组进行排序&#xff0c;而是返回一个数组&#xff0c;这个数组中的元素是原数组中元素按升序排序后的索引。 numpy.argsort(a, axis-1, kindNone, orderNone) 参…

adb push 报错 ...error: failed to copy...

一、现象&#xff1a; 原因&#xff1a;没有权限导致的 二、解决方法&#xff1a; adb root adb remount #重新加载文件系统三、再次尝试&#xff1a;adb push xxx.apk /system/app 结果&#xff1a;成功

猫咖老板教你一招解决猫浮毛问题,质量好的猫用空气净化器分享

作为一名猫咖店老板&#xff0c;我经常被朋友问到关于宠物空气净化器的各种问题。有人认为这是个神器&#xff0c;而有人则认为这完全是花钱买智商税。其实我刚开始对购买宠物空气净化器也持怀疑态度&#xff0c;心想这么多钱花下去真的有效吗&#xff1f;但使用后&#xff0c;…

如何在Java项目中实现领域驱动设计(DDD)

如何在Java项目中实现领域驱动设计&#xff08;DDD&#xff09; 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01; 领域驱动设计概述 领域驱动设计&#xff08;…

Axure教程:App侧边抽屉菜单交互制作

今天给大家示范一下抽屉菜单在Axure中的做法。在抽屉式菜单中&#xff0c;要实现两个交互效果&#xff0c;分别是&#xff1a; 交互一 抽屉菜单中1、2级菜单项的伸缩效果 实现逻辑&#xff1a;设置动态面板的切换状态及“推动/拉动原件”实现 交互二 菜单项的选中状态切换 …

Python使用总结之为什么列表生成式的内存开销比生成器表达式大?

Python使用总结之为什么列表生成式的内存开销比生成器表达式大&#xff1f; 列表生成式 ([x*3 for x in gen_AB()]): 列表生成式会立即生成整个列表并将所有元素存储在内存中。这意味着它需要的内存量取决于生成的列表中元素的数量。例如&#xff0c;如果 gen_AB() 生成了 1000…