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

【企业云端全栈开发实践-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作用

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

在这里插入图片描述

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

idea
在这里插入图片描述

相关文章:

【企业云端全栈开发实践-1】项目介绍及环境准备、Spring Boot快速上手

本节目录一、 项目内容介绍二、Maven介绍2.1 Maven作用2.2 Maven依赖2.3 本地仓库配置三、Spring Boot快速上手3.1 Spring Boot特点3.2 遇到的Bug&#xff1a;spring-boot-maven-plugin3.3 遇到的Bug2&#xff1a;找不到Getmapping四、开发环境热部署一、 项目内容介绍 本课程…...

5-HT2A靶向药物|适应症|市场销售-上市药品前景分析

据世界卫生组织称&#xff0c;抑郁症是一种多因素疾病&#xff0c;影响全球约3.5 亿人。中枢神经系统最广泛的单胺 - 血清素 (5-HT) 被认为在这种情况的病理机制中起着至关重要的作用&#xff0c;并且神经递质的重要性被“血清素假说”提升&#xff0c;将抑郁症的存在联系起来 …...

HTTPS协议原理---详解

目录 一、HTTPS 1.加密与解密 2.我们为什么要加密&#xff1f; 3.常见加密方式 ①对称加密 ②非对称加密 4.数据摘要 5.数字签名 二、HTTPS的加密方案 1.只是用对称加密​ 2.只使用非对称加密 3.双方都使用非对称加密 4.非对称加密&#xff0b;对称加密 中间人攻…...

Pytest学习笔记

Pytest学习笔记 1、介绍 1.1、单元测试 单元测试是指在软件开发当中&#xff0c;针对软件的最小单位&#xff08;函数&#xff0c;方法&#xff09;进行正确性的检查测试 1.2、单元测试框架 测试发现&#xff1a;从多个py文件里面去找到我们测试用例测试执行&#xff1a;按…...

Fuzz概述

文章目录AFL一些概念插桩与覆盖率边和块覆盖率afl自实现劫持汇编器clang内置覆盖率反馈与引导变异遗传算法fork server机制AFL调试准备AFL一些概念 插桩与覆盖率 边和块 首先&#xff0c;要明白边和块的定义 正方形的就是块&#xff0c;箭头表示边&#xff0c;边表示程序执行…...

区块链知识系列 - 系统学习EVM(四)-zkEVM

区块链知识系列 - 系统学习EVM(一) 区块链知识系列 - 系统学习EVM(二) 区块链知识系列 - 系统学习EVM(三) 今天我们来聊聊 zkEVM、EVM 兼容性 和 Rollup 是什么&#xff1f; 1. 什么是 Rollup rollup顾名思义&#xff0c;就是把一堆交易卷&#xff08;rollup&#xff09;起来…...

Leetcode.2341 数组能形成多少数对

题目链接 Leetcode.2341 数组能形成多少数对 Rating : 1185 题目描述 给你一个下标从 0 开始的整数数组 nums。在一步操作中&#xff0c;你可以执行以下步骤&#xff1a; 从 nums选出 两个 相等的 整数从 nums中移除这两个整数&#xff0c;形成一个 数对 请你在 nums上多次执…...

C++复习笔记10

1. list是可以在常数范围内在任意位置进行插入和删除的序列式容器&#xff0c;并且该容器可以前后双向迭代。 2. list的底层是双向链表结构&#xff0c;双向链表中每个元素存储在互不相关的独立节点中&#xff0c;在节点中通过指针指向其前一个元素和后一个元素。 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 查询使用匹配规则&#xff0c;由一小组定义构成。 然后将这些规则应用于指定字段中的术语。 这些定义产生跨越文本正文中的术语的最小间隔序列。 这些间隔可以通过父源进一步组合和过滤。 上述描述有点费解。我…...

无法决定博客主题的人必看!如何选择类型和推荐的 5 种选择

是否有人不能迈出第一步&#xff0c;因为博客的类型还没有决定&#xff1f;有些人在出发时应该行动&#xff0c;而不是思考&#xff0c;但让我们冷静下来&#xff0c;仔细想想。博客的难度因流派而异&#xff0c;这在很大程度上决定了随后的发展。因此&#xff0c;在选择博客流…...

数字化转型的成功模版,珠宝龙头曼卡龙做对了什么?

2月11日&#xff0c;曼卡龙&#xff08;300945.SZ&#xff09;发布2022年业绩快报&#xff0c;报告期内&#xff0c;公司实现营业收入16.11亿元&#xff0c;同比增长28.63%。来源&#xff1a;曼卡龙2022年度业绩快报曼卡龙能在2022年实现营收增长尤为不易。2022年受疫情影响&am…...

转换矩阵、平移矩阵、旋转矩阵关系以及python实现旋转矩阵、四元数、欧拉角之间转换

文章目录1. 转换矩阵、平移矩阵、旋转矩阵之间的关系2. 缩放变换、平移变换和旋转变换2. python实现旋转矩阵、四元数、欧拉角互相转化由于在平时总是或多或少的遇到平移旋转的问题&#xff0c;每次都是现查资料&#xff0c;然后查了忘&#xff0c;忘了继续查&#xff0c;这次弄…...

中国地图航线图(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的用法详解&#xff0c;文中通过示例代码介绍的非常详细&#xff0c;对大家的学习或者工作具有一定的参考学习价值&#xff0c;需要的朋友们下面随着小编来一起学习学习吧目录在Python中&#xff0c;正则表达式的group和groups方…...

c++练习题7

1&#xff0e;下列运算符中优先级最高的是 A&#xff09;> B&#xff09; C&#xff09; && D&#xff09;! 2&#xff0e;以下关于运算符优先级的描述中&#xff0c;正确的是 。 A&#xff09;!&#xff08;逻辑非&#x…...

MySQL学习

目录1、数据库定义基本语句&#xff08;1&#xff09;数据库操作&#xff08;2&#xff09;数据表操作2.数据库操作SQL语句&#xff08;1&#xff09;插入数据&#xff08;2&#xff09;更新语句&#xff08;3&#xff09;删除数据3.数据库查询语句&#xff08;1&#xff09;基…...

C语言(强制类型转换)

一.类型转换原则 1.升级&#xff1a;当类型转换出现在表达式时&#xff0c;无论时unsigned还是signed的char和short都会被自动转换成int&#xff0c;如有必要会被转换成unsigned int(如果short与int的大小相同&#xff0c;unsigned short就比int大。这种情况下&#xff0c;uns…...

搭建hadoop高可用集群(二)

搭建hadoop高可用集群&#xff08;一&#xff09;配置hadoophadoop-env.shworkerscore-site.xmlhdfs-site.xmlmapred-site.xmlyarn-site.xml/etc/profile拷贝集群首次启动1、先启动zk集群&#xff08;自动化脚本&#xff09;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. 项目概述&#xff1a;一个能“读懂”文章的AI视频工厂最近在折腾短视频内容创作的朋友&#xff0c;估计都经历过一个共同的痛点&#xff1a;找选题、写脚本、找素材、配音、剪辑……一套流程下来&#xff0c;几个小时就没了&#xff0c;效率低得让人抓狂。尤其是想把一篇深度…...

Java集成ChatGPT实战:PlexPt SDK核心功能与生产部署指南

1. 项目概述与核心价值如果你是一名Java开发者&#xff0c;最近正琢磨着怎么在自己的应用里集成ChatGPT的能力&#xff0c;比如做个智能客服、代码助手或者内容生成工具&#xff0c;那你大概率已经搜过一圈了。官方的OpenAI API虽然强大&#xff0c;但直接用在Java项目里&#…...

2025届毕业生推荐的五大降AI率平台横评

Ai论文网站排名&#xff08;开题报告、文献综述、降aigc率、降重综合对比&#xff09; TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 当前&#xff0c;在生成式AI普及应用这个阶段&#xff0c;内容辨识度偏高这种情况&#xff0…...

鸿蒙动画开发全指南:属性动画+显式动画+转场动画+路径动画,一文掌握所有动画类型

&#x1f4d6; 鸿蒙NEXT开发实战系列 | 第32篇 | 实战篇 &#x1f3af; 适合人群&#xff1a;有ArkUI基础的开发者 ⏰ 阅读时间&#xff1a;约15分钟 | &#x1f4bb; 开发环境&#xff1a;DevEco Studio 5.0 导航链接 上一篇&#xff1a;鸿蒙NEXT开发实战系列31-通知与提醒管理…...

Boomi宣布2026财年亚太及日本地区合作伙伴奖得主

数据激活公司Boomi™今日公布其2026财年亚太及日本地区合作伙伴奖获奖名单。该奖项旨在表彰在该地区推动创新和为客户创造可衡量业务成果的Boomi合作伙伴。 本次获奖企业充分运用Boomi企业平台的全面能力实现数据激活、简化复杂流程和加速智能体转型&#xff0c;帮助客户更快创…...

1.8.1 掌握Scala类与对象 - Scala类

本次实战通过两组对比鲜明的案例&#xff0c;带你快速入门Scala面向对象编程的核心。首先&#xff0c;通过创建User类&#xff0c;我们掌握了Scala普通类的定义方式&#xff0c;了解了如何使用private修饰符封装成员变量&#xff0c;以及如何通过new关键字实例化对象并调用其公…...

深入解析ISO/IEC 14443-4:非接触通信的“对话规则”与实战应用

1. 非接触通信的"对话规则"从何而来&#xff1f; 想象一下你第一次和外国朋友交流的场景&#xff1a;双方需要确认彼此能说哪种语言、用多大的声音说话、每次说完话要等多久再回应——这就是ISO/IEC 14443-4协议在非接触通信中扮演的角色。作为近场通信&#xff08;N…...

使用Nodejs和Taotoken构建一个多轮对话代理服务

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 使用Node.js和Taotoken构建一个多轮对话代理服务 为全栈或后端开发者设计一个场景&#xff0c;利用Node.js环境下的openai包&#…...

云原生测试工具链选型指南:面向测试从业者的专业架构与实践路径

随着云原生技术栈的深度渗透&#xff0c;软件测试领域正经历一场从理念到工具链的深刻变革。面对Kubernetes、微服务、Service Mesh等新型架构带来的动态性、分布性与高频变更挑战&#xff0c;传统的测试工具与方法论已显乏力。对于测试从业者而言&#xff0c;构建或选型一套适…...

基于MCP协议的数据中心选址智能体:从地理空间分析到AI决策

1. 项目概述与核心价值最近在做一个挺有意思的项目&#xff0c;客户是一家大型的互联网服务提供商&#xff0c;他们面临一个经典但棘手的挑战&#xff1a;如何在全球范围内科学地规划新的数据中心选址。这可不是在地图上随便画个圈那么简单&#xff0c;背后涉及到网络延迟、电力…...