【企业云端全栈开发实践-1】项目介绍及环境准备、Spring Boot快速上手
本节目录
- 一、 项目内容介绍
- 二、Maven介绍
- 2.1 Maven作用
- 2.2 Maven依赖
- 2.3 本地仓库配置
- 三、Spring Boot快速上手
- 3.1 Spring Boot特点
- 3.2 遇到的Bug:spring-boot-maven-plugin
- 3.3 遇到的Bug2:找不到Getmapping
- 四、开发环境热部署
一、 项目内容介绍
本课程涵盖主流前后端开发技术
1、JavaEE企业级框架:Spring Boot + MyBaitPlus
2、Web前端核心框架:Vue+ElementUI
3、公共云部署:前后端项目集成打包与部署
二、Maven介绍
Maven是一个项目管理工具,可以对Java项目进行自动化的构建和依赖管理。
项目中涉及到编译、打包、运行、使用jar包等等,都可以使用maven来帮助我们,使用pom.xml文件来进行处理。

2.1 Maven作用
- 项目构建:提供标准的、跨平台的自动化构建项目的方式。
- 依赖管理:方便快捷的管理项目依赖的资源(jar包),避免资源之间的版本冲突等相关问题。
- 统一开发结构:提供标准的统一的项目开发结构,如下所示。

2.2 Maven依赖
每个项目都会涉及一些依赖,运行Maven的时候,Maven所需要的任何构件都是直接从本地仓库直接获取的,如果本地仓库没有,它会首先尝试从远程仓库下载构件到本地仓库中来。

2.3 本地仓库配置
修改maven安装包中的conf/settings.xml文件,指定本地仓库的位置。
(如果不配置,默认放在用户目录下,也就是C盘下,所以可以在D盘中提前创建好一个文件。)

配置好文件后,新建Idea项目时,需要在Settings中进行我们刚刚设置好的maven路径与配置路径。如下图所示。

注意:如果出现了报错,需要检测自己的Idea版本和maven版本。
报错内容:
报错内容:org.codehaus.plexus.component.repository.exception.ComponentLookupException: com.google.inject.ProvisionException: Unable to provision, see the following errors:1) Error injecting constructor, java.lang.NoSuchMethodError: org.apache.maven.model.validation.DefaultModelValidator: method <init>()V not foundat org.jetbrains.idea.maven.server.embedder.CustomModelValidator.<init>(Unknown Source)while locating org.jetbrains.idea.maven.server.embedder.CustomModelValidatorat ClassRealm[maven.ext, parent: ClassRealm[plexus.core, parent: null]] (via modules: org.eclipse.sisu.wire.WireModule -> org.eclipse.sisu.plexus.PlexusBindingModule)while locating org.apache.maven.model.validation.ModelValidator annotated with @com.google.inject.name.Named(value=ide)
Maven3.8.5版本与IDEA2021暂不兼容。
IDEA 2021 兼容maven 3.8.1及之前的所用版本;IDEA 2020 兼容Maven 3.6.3及之前所有版本;IDEA 2018 兼容Maven3.6.1及之前所有版本。
三、Spring Boot快速上手
3.1 Spring Boot特点
1、遵循“约定优于配置”的原则,只需要很少的配置或者使用默认的配置。
2、能够使用内嵌的Tomcat、Jetty服务器,不需要部署war文件。即直接为jar包。
3、提供定制化的启动器Starters,简化了Maven配置,开箱即用。
4、纯Java配置,没有代码生成,也不需要XML配置。
5、提供了生产级的服务监控方案,如安全监控、应用监控、健康监测。
3.2 遇到的Bug:spring-boot-maven-plugin
配置pom的时候,容易报错:Plugin ‘org.springframework.boot:spring-boot-maven-plugin:’ not found。
大家需要自己查明自己的spring-boot-maven-plugin版本号是什么加上即可。

3.3 遇到的Bug2:找不到Getmapping
最开始我提示我找不到Getmapping,发现是springboot 3.0.2的版本太高了,jdk8跟不上了。
所以转换成2.5.4,但是有如下报错:
Project ‘org.springframework.boot:spring-boot-starter-parent:2.5.4’ not found
这是因为更改代码后,存在缓存问题,需要重新打开项目即可。然后就是成功运行啦!

四、开发环境热部署
- 实际的项目开发调试过程中会频繁地修改后台类的文件,导致需要重新编译,重新启动,整个过程十分的麻烦,会影响开发效率。
- Spring Boot 提供了 spring-boot-devtools组件,使得无须手动重启Spring Boot应用就可以重新编译、启动项目,大大缩短了编译启动的时间。
- devtools会监听classpath下的文件变动,触发Restart类加载器重新加载该类,从而实现类文件和属性文件的热部署。
- 并不是所有的更改都需要重启应用(如静态资源、视图模板等等)可以通过设置spring.devtools.restart.exclude属性来指定一些文件或者目录的修改不用重启应用。
在pom.xml中添加如下配置:
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><optional>true</optional></dependency>
在application.properties中添加:
spring.devtools.restart.enabled=true
spring.devtools.restart.additional-path=src/main/java


相关文章:
【企业云端全栈开发实践-1】项目介绍及环境准备、Spring Boot快速上手
本节目录一、 项目内容介绍二、Maven介绍2.1 Maven作用2.2 Maven依赖2.3 本地仓库配置三、Spring Boot快速上手3.1 Spring Boot特点3.2 遇到的Bug:spring-boot-maven-plugin3.3 遇到的Bug2:找不到Getmapping四、开发环境热部署一、 项目内容介绍 本课程…...
5-HT2A靶向药物|适应症|市场销售-上市药品前景分析
据世界卫生组织称,抑郁症是一种多因素疾病,影响全球约3.5 亿人。中枢神经系统最广泛的单胺 - 血清素 (5-HT) 被认为在这种情况的病理机制中起着至关重要的作用,并且神经递质的重要性被“血清素假说”提升,将抑郁症的存在联系起来 …...
HTTPS协议原理---详解
目录 一、HTTPS 1.加密与解密 2.我们为什么要加密? 3.常见加密方式 ①对称加密 ②非对称加密 4.数据摘要 5.数字签名 二、HTTPS的加密方案 1.只是用对称加密 2.只使用非对称加密 3.双方都使用非对称加密 4.非对称加密+对称加密 中间人攻…...
Pytest学习笔记
Pytest学习笔记 1、介绍 1.1、单元测试 单元测试是指在软件开发当中,针对软件的最小单位(函数,方法)进行正确性的检查测试 1.2、单元测试框架 测试发现:从多个py文件里面去找到我们测试用例测试执行:按…...
Fuzz概述
文章目录AFL一些概念插桩与覆盖率边和块覆盖率afl自实现劫持汇编器clang内置覆盖率反馈与引导变异遗传算法fork server机制AFL调试准备AFL一些概念 插桩与覆盖率 边和块 首先,要明白边和块的定义 正方形的就是块,箭头表示边,边表示程序执行…...
区块链知识系列 - 系统学习EVM(四)-zkEVM
区块链知识系列 - 系统学习EVM(一) 区块链知识系列 - 系统学习EVM(二) 区块链知识系列 - 系统学习EVM(三) 今天我们来聊聊 zkEVM、EVM 兼容性 和 Rollup 是什么? 1. 什么是 Rollup rollup顾名思义,就是把一堆交易卷(rollup)起来…...
Leetcode.2341 数组能形成多少数对
题目链接 Leetcode.2341 数组能形成多少数对 Rating : 1185 题目描述 给你一个下标从 0 开始的整数数组 nums。在一步操作中,你可以执行以下步骤: 从 nums选出 两个 相等的 整数从 nums中移除这两个整数,形成一个 数对 请你在 nums上多次执…...
C++复习笔记10
1. list是可以在常数范围内在任意位置进行插入和删除的序列式容器,并且该容器可以前后双向迭代。 2. list的底层是双向链表结构,双向链表中每个元素存储在互不相关的独立节点中,在节点中通过指针指向其前一个元素和后一个元素。 3. list与for…...
leaflet 纯CSS的marker标记,不用图片来表示(072)
第072个 点击查看专栏目录 本示例的目的是介绍演示如何在vue+leaflet中使用纯CSS来打造marker的标记。这里用到的是L.divIcon来引用CSS来构造新icon,然后在marker的属性中引用。 这里必须要注意的是css需要是全局性质的,不能被scoped转义为其他随机的css。 直接复制下面的 v…...
Elasticsearch:使用 intervals query - 根据匹配项的顺序和接近度返回文档
Intervals query 根据匹配项的顺序和接近度返回文档。Intervals 查询使用匹配规则,由一小组定义构成。 然后将这些规则应用于指定字段中的术语。 这些定义产生跨越文本正文中的术语的最小间隔序列。 这些间隔可以通过父源进一步组合和过滤。 上述描述有点费解。我…...
无法决定博客主题的人必看!如何选择类型和推荐的 5 种选择
是否有人不能迈出第一步,因为博客的类型还没有决定?有些人在出发时应该行动,而不是思考,但让我们冷静下来,仔细想想。博客的难度因流派而异,这在很大程度上决定了随后的发展。因此,在选择博客流…...
数字化转型的成功模版,珠宝龙头曼卡龙做对了什么?
2月11日,曼卡龙(300945.SZ)发布2022年业绩快报,报告期内,公司实现营业收入16.11亿元,同比增长28.63%。来源:曼卡龙2022年度业绩快报曼卡龙能在2022年实现营收增长尤为不易。2022年受疫情影响&am…...
转换矩阵、平移矩阵、旋转矩阵关系以及python实现旋转矩阵、四元数、欧拉角之间转换
文章目录1. 转换矩阵、平移矩阵、旋转矩阵之间的关系2. 缩放变换、平移变换和旋转变换2. python实现旋转矩阵、四元数、欧拉角互相转化由于在平时总是或多或少的遇到平移旋转的问题,每次都是现查资料,然后查了忘,忘了继续查,这次弄…...
中国地图航线图(echarjs)
1、以上为效果图 需要jq、echarjs、china.json三个文件支持。以上 2、具体代码 DOM部分 <!-- 服务范围 GO--> <div class"m-maps"><div id"main" style"width:1400px;height: 800px; margin: 0 auto;"> </div> <!-…...
Python正则表达式中group与groups的用法详解
本文主要介绍了Python正则表达式中group与groups的用法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧目录在Python中,正则表达式的group和groups方…...
c++练习题7
1.下列运算符中优先级最高的是 A)> B) C) && D)! 2.以下关于运算符优先级的描述中,正确的是 。 A)!(逻辑非&#x…...
MySQL学习
目录1、数据库定义基本语句(1)数据库操作(2)数据表操作2.数据库操作SQL语句(1)插入数据(2)更新语句(3)删除数据3.数据库查询语句(1)基…...
C语言(强制类型转换)
一.类型转换原则 1.升级:当类型转换出现在表达式时,无论时unsigned还是signed的char和short都会被自动转换成int,如有必要会被转换成unsigned int(如果short与int的大小相同,unsigned short就比int大。这种情况下,uns…...
搭建hadoop高可用集群(二)
搭建hadoop高可用集群(一)配置hadoophadoop-env.shworkerscore-site.xmlhdfs-site.xmlmapred-site.xmlyarn-site.xml/etc/profile拷贝集群首次启动1、先启动zk集群(自动化脚本)2、在hadoop151,hadoop152,hadoop153启动JournalNode…...
CentOS升级内核-- CentOS9 Stream/CentOS8 Stream/CentOS7
官方文档在此 升级原因 当我们安装一些软件(对,我说的就是Kubernetes),可能需要新内核的支持,而CentOS又比较保守,不太升级,所以需要我们手工升级. # 看下目前是什么版本内核 uname -a# 安装公钥 rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org# 添加仓库,如果…...
AI短视频生成引擎:从文章到视频的自动化流水线实战
1. 项目概述:一个能“读懂”文章的AI视频工厂最近在折腾短视频内容创作的朋友,估计都经历过一个共同的痛点:找选题、写脚本、找素材、配音、剪辑……一套流程下来,几个小时就没了,效率低得让人抓狂。尤其是想把一篇深度…...
Java集成ChatGPT实战:PlexPt SDK核心功能与生产部署指南
1. 项目概述与核心价值如果你是一名Java开发者,最近正琢磨着怎么在自己的应用里集成ChatGPT的能力,比如做个智能客服、代码助手或者内容生成工具,那你大概率已经搜过一圈了。官方的OpenAI API虽然强大,但直接用在Java项目里&#…...
2025届毕业生推荐的五大降AI率平台横评
Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 当前,在生成式AI普及应用这个阶段,内容辨识度偏高这种情况࿰…...
鸿蒙动画开发全指南:属性动画+显式动画+转场动画+路径动画,一文掌握所有动画类型
📖 鸿蒙NEXT开发实战系列 | 第32篇 | 实战篇 🎯 适合人群:有ArkUI基础的开发者 ⏰ 阅读时间:约15分钟 | 💻 开发环境:DevEco Studio 5.0 导航链接 上一篇:鸿蒙NEXT开发实战系列31-通知与提醒管理…...
Boomi宣布2026财年亚太及日本地区合作伙伴奖得主
数据激活公司Boomi™今日公布其2026财年亚太及日本地区合作伙伴奖获奖名单。该奖项旨在表彰在该地区推动创新和为客户创造可衡量业务成果的Boomi合作伙伴。 本次获奖企业充分运用Boomi企业平台的全面能力实现数据激活、简化复杂流程和加速智能体转型,帮助客户更快创…...
1.8.1 掌握Scala类与对象 - Scala类
本次实战通过两组对比鲜明的案例,带你快速入门Scala面向对象编程的核心。首先,通过创建User类,我们掌握了Scala普通类的定义方式,了解了如何使用private修饰符封装成员变量,以及如何通过new关键字实例化对象并调用其公…...
深入解析ISO/IEC 14443-4:非接触通信的“对话规则”与实战应用
1. 非接触通信的"对话规则"从何而来? 想象一下你第一次和外国朋友交流的场景:双方需要确认彼此能说哪种语言、用多大的声音说话、每次说完话要等多久再回应——这就是ISO/IEC 14443-4协议在非接触通信中扮演的角色。作为近场通信(N…...
使用Nodejs和Taotoken构建一个多轮对话代理服务
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 使用Node.js和Taotoken构建一个多轮对话代理服务 为全栈或后端开发者设计一个场景,利用Node.js环境下的openai包&#…...
云原生测试工具链选型指南:面向测试从业者的专业架构与实践路径
随着云原生技术栈的深度渗透,软件测试领域正经历一场从理念到工具链的深刻变革。面对Kubernetes、微服务、Service Mesh等新型架构带来的动态性、分布性与高频变更挑战,传统的测试工具与方法论已显乏力。对于测试从业者而言,构建或选型一套适…...
基于MCP协议的数据中心选址智能体:从地理空间分析到AI决策
1. 项目概述与核心价值最近在做一个挺有意思的项目,客户是一家大型的互联网服务提供商,他们面临一个经典但棘手的挑战:如何在全球范围内科学地规划新的数据中心选址。这可不是在地图上随便画个圈那么简单,背后涉及到网络延迟、电力…...
