SpringBoot(一)--搭建架构5种方法
目录
一、⭐Idea从spring官网下载打开
2021版本idea
1.打开创建项目
2.修改pom.xml文件里的版本号
2017版本idea
二、从spring官网下载再用idea打开
三、Idea从阿里云的官网下载打开
编辑
四、Maven项目改造成springboot项目
五、从阿里云官网下载再用idea打开
Spring Boot 是基于 Spring 框架,以约定优于配置、自动配置为核心,可快速构建独立运行的应用,为微服务等开发提供便利的开发框架。
前面已经对SSM(Spring,SpringMVC,MyBatis)每个框架做了讲解,SpringBoot就是基于这个框架一个更简单、更有利于开发。
在开始讲解SpringBoot之前,可以看一眼未来要学习的知识体系:
一、⭐Idea从spring官网下载打开
https://start.spring.io
因为这种方式是五种方式中最常用的一种,也是未来搭建SpringBoot项目的主力,所以这个会展示的比较详细。
2021版本idea
【注:因为2021版本的idea对maven的版本包容度比较大,所以这里最详细的展示我用的是2021版本的idea(1.8版本的JDK---java version为8)和3.6.0的maven配置。】
1.打开创建项目
2.修改pom.xml文件里的版本号
①这里原本的3.4.*太高了,可能会报错(酌情修改):
最新的springboot3.×要求版本至少是17,如果使用的是Java8,则需要将版本控制在2.7.×
②修改这里的Java version,我用的是1.8,对用Java8(修改是必须的):
③ 这里的插件可能会报错,所以需要加一行插件的版本号来辅助maven加载插件,这里的版本号和前面的版本一致就行(酌情修改,主要是看是否报错)。
在此我可以提供我 修改后的pom.xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.7.0</version> <!-- 确保版本号正确 --><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.qcby</groupId><artifactId>sbdemotest01</artifactId><version>0.0.1-SNAPSHOT</version><name>sbdemotest01</name><description>sbdemotest01</description><url/><licenses><license/></licenses><developers><developer/></developers><scm><connection/><developerConnection/><tag/><url/></scm><properties><java.version>8</java.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><version>2.7.0</version> <!-- 确保版本号与父项目中的版本一致 --></plugin></plugins></build>
</project>
可以看一眼我的插件和依赖:
配置成功后可以打开项目自配的驱动运行一下:
然后能得到下面的执行结果就代表这个项目启动成功了:
2017版本idea
【注:这里的项目名要全小写,不然点击next就会报错】
勾选自己需要的模块WEB模块,springboot项目直接使用jar包创建就行(这里只是演示一下这些是可以在这里勾选的,完全可以什么都不选,然后进项目后需要什么就导什么依赖)
二、从spring官网下载再用idea打开
Spring | Home
①官网网址
②点击project找到springboot点进去 页面下拉到底 找到spring initilalizr
③勾选自己创建项目的所有需要配置的信息 和idea创建一样
最后下载好压缩文件解压 用idea打开即可。
三、Idea从阿里云的官网下载打开
https://start.aliyun.com
后续操作与idea从spring.io一样的操作 (就是一、中的操作)
四、Maven项目改造成springboot项目
2021版本idea⭐
①创建一个maven项目(最普通的就好,不用导入任何插件)
②取一个名字,自行更改项目坐标
③打开后看见maven项目的pom.xml
④需要将他修改成springboot框架(加入依赖)
<!-- 使用 Spring Boot 2.7.x 父依赖 --><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.7.1</version> <!-- 2.7.x 的最新版本 --></parent><dependencies><!-- Spring Boot Web Starter --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><version>RELEASE</version><scope>test</scope></dependency></dependencies><build><plugins><!-- Spring Boot Maven 插件 --><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build>
⑤编写一个主程序;启动Spring Boot应用
package com.qcby.application;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;/*** @SpringBootApplication 来标注一个主程序类,说明这是一个Spring Boot应用*/
@SpringBootApplication
public class HelloWorldMainApplication {public static void main(String[] args) {// Spring应用启动起来SpringApplication.run(HelloWorldMainApplication.class,args);}
}
运行成功:
2017版本idea
①直接创建maven工程 不勾选任何模板
参照标准SpringBoot工程的pom文件,书写自己的pom文件即可
重点是红色依赖, <parent>坐标是导入的springboot依赖父工。
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.5.4</version></parent><groupId>com.itheima</groupId><artifactId>springboot_01_04_quickstart</artifactId><version>1.0-SNAPSHOT</version><properties><maven.compiler.source>8</maven.compiler.source><maven.compiler.target>8</maven.compiler.target></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency></dependencies></project>
之前运行SpringBoot工程需要一个类,这个缺不了,自己手写一个就行了,建议按照之前的目录结构来创建,先别玩花样,先学走后学跑。类名可以自定义,关联的名称一切修改即可。
@SpringBootApplication
public class Application {public static void main(String[] args) {SpringApplication.run(<Application.class);}
}
关注:类上面的注解@SpringBootApplication千万别丢了,这个是核心,后面再介绍
关注:类名可以自定义,只要保障下面代码中使用的类名和你自己定义的名称一样即可,也就是run方法中的那个class对应的名称。
五、从阿里云官网下载再用idea打开
这里操作和前面的二、其实非常像,不做过多赘述。
【注:前面的所有展示,除了一、中前半部分表明了用2021版本演示的,其他统一都是以2017版本的idea为例】
相关文章:
SpringBoot(一)--搭建架构5种方法
目录 一、⭐Idea从spring官网下载打开 2021版本idea 1.打开创建项目 2.修改pom.xml文件里的版本号 2017版本idea 二、从spring官网下载再用idea打开 三、Idea从阿里云的官网下载打开 编辑 四、Maven项目改造成springboot项目 五、从阿里云官网下载再用idea打开 Spri…...
初识大模型——大语言模型 LLMBook 学习(一)
1. 大模型发展历程 🔹 1. 早期阶段(1950s - 1990s):基于规则和统计的方法 代表技术: 1950s-1960s:规则驱动的语言处理 早期的 NLP 主要依赖 基于规则的系统,如 Noam Chomsky 提出的 生成语法&…...
Array and string offset access syntax with curly braces is deprecated
警告信息 “Array and string offset access syntax with curly braces is deprecated” 是 PHP 中的一个弃用警告(Deprecation Notice),表明在 PHP 中使用花括号 {} 来访问数组或字符串的偏移量已经被标记为过时。 背景 在 PHP 的早期版本…...
27. Harmonyos Next仿uv-ui 组件NumberBox 步进器组件禁用状态
温馨提示:本篇博客的详细代码已发布到 git : https://gitcode.com/nutpi/HarmonyosNext 可以下载运行哦! 文章目录 1. 组件介绍2. 效果展示3. 禁用状态设置3.1 整体禁用3.2 输入框禁用3.3 长按禁用 4. 完整示例代码5. 知识点讲解5.1 禁用状态属性5.2 禁用…...
Java高频面试之集合-08
hello啊,各位观众姥爷们!!!本baby今天来报道了!哈哈哈哈哈嗝🐶 面试官:详细说说CopyOnWriteArrayList CopyOnWriteArrayList 详解 CopyOnWriteArrayList 是 Java 并发包(java.util…...
做到哪一步才算精通SQL
做到哪一步才算精通SQL-Structured Query Language 数据定义语言 DDL for StructCREATE:用来创建数据库、表、索引等对象ALTER:用来修改已存在的数据库对象DROP:用来删除整个数据库或者数据库中的表TRUNCATE:用来删除表中所有的行…...
SpringAI介绍及本地模型使用方法
博客原文地址 前言 Spring在Java语言中一直稳居高位,与AI的洪流碰撞后也产生了一些有趣的”化学反应“,当然你要非要说碰撞属于物理反应也可以, 在经历了一系列复杂的反应方程后,Spring家族的新成员——SpringAI,就…...
空指针异常的触发
面向对象分析: 当你要吃饭,饭是对象,提供吃饭这个功能,所以饭为null时,你去调吃饭这个功能,就是去操作饭这个抽象模型,但这个模型是null,就是空指针异常了,但如果有了饭…...
尚硅谷爬虫note15n
1. 多条管道 多条管道开启(2步): (1)定义管道类 (2)在settings中开启管道 在pipelines中: import urllib.request # 多条管道开启 #(1)定义管道类 #(2)在setti…...
基于SSM+Vue的汽车维修保养预约系统+LW示例
1.项目介绍 系统角色:管理员、员工、用户功能模块:用户管理、员工管理、汽车类型管理、项目类型管理、维修/预约订单管理、系统管理、公告管理等技术选型:SSM,vue(后端管理web),Layuiÿ…...
【商城实战(13)】购物车价格与数量的奥秘
【商城实战】专栏重磅来袭!这是一份专为开发者与电商从业者打造的超详细指南。从项目基础搭建,运用 uniapp、Element Plus、SpringBoot 搭建商城框架,到用户、商品、订单等核心模块开发,再到性能优化、安全加固、多端适配…...
在线json转ArkTs-Harmonyos
轻松将 JSON 数据转换为类型安全的 ArkTs 接口。快速准确地生成代码,提升开发效率,告别手动编写,让您的开发流程更加流畅! gotool...
Cannot resolve symbol ‘view‘ Androidstudio报错解决办法
报错原因 出现 Cannot resolve symbol view 错误是因为代码中的 view 变量未正确定义或不在当前作用域内。以下是常见场景和解决方法: 场景 1:在 点击事件监听器 中获取 view 如果代码在 OnClickListener 的 onClick 方法中,view 是方法的参…...
三级缓存架构
三级缓存架构是一种通过分层缓存设计来优化系统性能、降低数据库负载、提高数据访问效率的解决方案,尤其适用于高并发、高吞吐量的业务场景(如电商、社交平台、实时推荐等)。其核心思想是通过多级缓存逐层过滤请求,减少对底层存储…...
webshell一些上传心得
我们以upload-labs为基础 一、前端拦截: 如第一关 工作方式: 直接在前端拦截 绕过方式: 因为没有限制后端,所有可以用bs 绕过前端修改格式即可 将需要上传的php文件改成jpg格式 使用burp suite 拦截上传后,使用re…...
doris:阿里云 MaxCompute
MaxCompute 是阿里云上的企业级 SaaS(Software as a Service)模式云数据仓库。 什么是 MaxCompute 连接 MaxCompute 示例 -- 1. 创建Catalog。 CREATE CATALOG mc PROPERTIES ("type" "max_compute","mc.default.projec…...
MyBatis-Plus 分页查询接口返回值问题剖析
在使用 MyBatis-Plus 进行分页查询时,很多开发者会遇到一个常见的问题:当分页查询接口返回值定义为 Page<T> 时,执行查询会抛出异常;而将返回值修改为 IPage<T> 时,分页查询却能正常工作。本文将从 MyBatis-Plus 的分页机制入手,详细分析这一问题的根源,并提…...
【面试】框架
框架 1、介绍一下Spring 的 IOC2、将一个类声明为 Bean 的注解有哪些3、Bean 的作用域有哪些4、Spring 框架中的 Bean 是线程安全的吗5、Spring 容器对象的懒加载6、Spring 容器中的 bean 生命周期7、谈谈自己对于 Spring DI 的了解8、注入 Bean 的注解有哪些9、Spring Boot 如…...
MWC 2025 | 紫光展锐联合移远通信推出全面支持R16特性的5G模组RG620UA-EU
2025年世界移动通信大会(MWC 2025)期间,紫光展锐联合移远通信,正式发布了全面支持5G R16特性的模组RG620UA-EU,以强大的灵活性和便捷性赋能产业。 展锐芯加持,关键性能优异 RG620UA-EU模组基于紫光展锐V62…...
《苍穹外卖》SpringBoot后端开发项目重点知识整理(DAY1 to DAY3)
目录 一、在本地部署并启动Nginx服务1. 解压Nginx压缩包2. 启动Nginx服务3. 验证Nginx是否启动成功: 二、导入接口文档1. 黑马程序员提供的YApi平台2. YApi Pro平台3. 推荐工具:Apifox 三、Swagger1. 常用注解1.1 Api与ApiModel1.2 ApiModelProperty与Ap…...
Mysql内置函数
日期函数: 例如: select current_date();---打印日期 select current_time()----打印时间 select current_timestamp();打印时间戳 select now(); ----日期时间 select date(‘2020-10-01 00:00:00’); ----提取日期进行打印: 也可以配合…...
一文了解汽车图像传感器
2024年底,安森美做了题为"How Automotive Image Sensors Transform the Future of Autonomous Driving"的演讲,这里结合其内容对自动驾驶图像传感器做一个介绍。 当前的自动驾驶感知技术主要有两大技术路线:一种是仅使用摄像头作为传感器进行信息采集的纯…...
cocos creator使用mesh修改图片为圆形,减少使用mask,j减少drawcall,优化性能
cocos creator版本2.4.11 一个mask占用drawcall 3个以上,针对游戏中技能图标,cd,以及多玩家头像,是有很大优化空间 1.上代码,只适合单独图片的,不适合在图集中的图片 const { ccclass, property } cc._decorator;c…...
面向高质量视频生成的扩散模型方法-算法、架构与实现【附核心代码】
目录 算法原理 架构 代码示例 算法原理 正向扩散过程:从真实的视频数据开始,逐步向其中添加噪声,随着时间步 t 的增加,噪声添加得越来越多,最终将原始视频数据变成纯噪声。数学上,t 时刻的视频数据与 t…...
vue3框架的响应式依赖追踪机制
当存在一个响应式变量于视图中发生改变时会更新当前组件的所以视图显示,但是没有视图中不写这个响应式变量就就算修改该变量也不会修改视图,这是为什么?我们能否可以理解宽泛的理解为vue组件的更新就是视图的更新,单当视图中不存在…...
Ubuntu本地部署Open manus(完全免费可用)
目录 1.介绍 2.环境搭建 3.更改配置 4.运行 1.介绍 关于由于邀请码的限制,导致很多用户无法顺利体验manus带来的ai agent体验,但是最近开源的open manus是另一个不错的选择。 先来看看运行的结果: 我让open manus帮我打开小米的主页&am…...
MacOS Big Sur 11 新机安装brew wget python3.12 exo
MacOS Big Sur 11,算是很老的系统了,所以装起来brew有点费劲。 首先安装brew 官网: /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" 官网加速: 按照官网的方法࿰…...
基于USB Key的Web系统双因素认证解决方案:构建安全与便捷的登录体系
摘要 在网络安全威胁日益严峻的背景下,传统的“用户名密码”认证方式已难以应对钓鱼攻击、密码窃取等风险。上海安当基于USB Key技术,推出了一套面向Web系统的双因素认证解决方案,通过硬件与密码学的深度融合,实现用户身份的高强度…...
项目工坊 | Python驱动淘宝信息爬虫
目录 前言 1 完整代码 2 代码解读 2.1 导入模块 2.2 定义 TaoBao 类 2.3 search_infor_price_from_web 方法 2.3.1 获取下载路径 2.3.2 设置浏览器选项 2.3.3 反爬虫处理 2.3.4 启动浏览器 2.3.5 修改浏览器属性 2.3.6 设置下载行为 2.3.7 打开淘宝登录页面 2.3.…...
数据安全_笔记系列12:数据访问控制中的三个管理员权限划分
数据安全_笔记系列04:数据访问控制中的“三权分立”机制详解 文章链接:https://blog.csdn.net/fen_fen/article/details/145852242 数据安全_笔记系列12:数据访问控制中的三个管理员权限划分 这三个角色的职责和权限划分。 系统应具有相互独…...
通义千问本地配置并实现微调
通义千问本地配置并实现微调 最小Qwen模型大小942mb from modelscope import snapshot_download model_dir = snapshot_download(“qwen/Qwen2.5-0.5B”, cache_dir=“./models2.5”) Qwen2.5-0.5B:942MB from modelscope import snapshot_download model_dir = snapshot_d…...
文件上传漏洞(upload靶场)
目录 Pass-01:前端绕过 方法一:浏览器禁用js 方法二:直接修改或删除js脚本 方法三:修改后缀绕过 Pass-02:服务器检测 Pess-03:黑名单绕过 Pass-04:.htaccess文件 Pass-05:windows特性和user.ini 方法一:php.自动解析为ph…...
Leetcode 刷题记录 05 —— 普通数组
本系列为笔者的 Leetcode 刷题记录,顺序为 Hot 100 题官方顺序,根据标签命名,记录笔者总结的做题思路,附部分代码解释和疑问解答。 目录 01 最大子数组和 方法一:动态规划(卡达尼算法) 方法…...
随机过程的核心概念与Matlab实现
摘要 本文系统讲解随机过程的核心理论与Matlab实现,涵盖随机变量分布、蒙特卡罗仿真、信息熵计算及平稳过程特性。通过高斯、瑞利分布的生成代码、蒙特卡罗积分估计、窄带信号仿真等案例,结合功率谱分析与自相关函数推导,演示随机过程建模与…...
git worktree的使用
git worktree 是 Git 提供的一个强大功能,允许你在同一个仓库中同时创建多个工作目录,每个目录对应一个分支,从而实现并行开发。以下是 git worktree 的常用命令和使用方法: 1. 创建新的工作目录(Worktree)…...
delphi 正则提取html中的内容
function ExtractTextFromHTML(const HTML: string): string; var RegEx: TRegEx; begin Result := HTML; // 移除<script>标签及其内容 Result := TRegEx.Replace(Result, <script.*?>.*?</script>, , [roIgnoreCase, roSingleLine]); // 移除<s…...
深度学习系列79:Text2sql调研
参考 https://github.com/topics/text-to-sql 这里是一些资源:https://github.com/eosphoros-ai/Awesome-Text2SQL/blob/main/README.zh.md 这里是综述文章:https://zhuanlan.zhihu.com/p/647249972 1. 数据集 Spider: 一个跨域的复杂text2sql数据集&a…...
分布式锁—5.Redisson的读写锁一
大纲 1.Redisson读写锁RedissonReadWriteLock概述 2.读锁RedissonReadLock的获取读锁逻辑 3.写锁RedissonWriteLock的获取写锁逻辑 4.读锁RedissonReadLock的读读不互斥逻辑 5.RedissonReadLock和RedissonWriteLock的读写互斥逻辑 6.写锁RedissonWriteLock的写写互斥逻辑…...
【AI热点】Manus技术细致洞察报告(篇2)
针对大家对Manus产品褒贬不一的现象,基于近期对Manus的多方实测、公开信息与开源竞品的比对分析而撰写,旨在为从业者、技术爱好者以及潜在用户提供一个较为系统、专业的视角。报告将围绕Manus的核心原理、功能特点、技术亮点、常见应用场景与不足&#x…...
虚幻基础:动画层接口
文章目录 动画层:动画图表中的函数接口:名字,没有实现。动画层接口:由动画蓝图实现1.动画层可直接调用实现功能2.动画层接口必须安装3.动画层默认使用本身实现4.动画层也可使用其他动画蓝图实现,但必须在角色蓝图中关联…...
C#的简写技巧
在C#中,有许多简写技巧可以让你的代码更加简洁高效,以下是一些常见的: 1. 变量声明与初始化 使用 var 关键字 :当你能从初始化表达式中推断出变量类型时,可以使用 var 关键字代替显式的类型声明。例如: va…...
【js逆向】
地址:aHR0cHM6Ly93d3cud2VpYm90b3AuY24vMi4wLw f12进入 debugger,过debugger 查看预览数据 全局搜索 请求网址中的 api.weibotop.cn 在下方疑似找到了加密和解密的函数 断点调试 控制台输出 那个n就是 常见的 cryptoJs库 const cryptoJs require(cry…...
汽车一键启动按钮更换注意事项
汽车一键启动开关更换教程 一键启动开关是现代汽车中常见的便捷配置,但随着时间的推移,这个部件可能会出现失灵的情况。当一键启动开关发生故障时,许多车主选择自行更换。以下是整理的一键启动开关更换教程: 更换前的准备 选择匹…...
为wordpress自定义一个留言表单并可以在后台进行管理的实现方法
要为WordPress添加留言表单功能并实现后台管理,你可以按照以下步骤操作: 1. 创建留言表单 首先,你需要创建一个留言表单。可以使用插件(如Contact Form 7)或手动编写代码。 使用Contact Form 7插件 安装并激活Contact Form 7插件。 创建…...
Hive函数、外部表和分区表
目录 1. Hive自定义函数1.1 pom.xml中依赖配置1.2 Hive自定义函数示例代码1.3 打包并演示 2. 外部表3. 分区表参考 1. Hive自定义函数 Hive中简单的自定义函数需要继承org.apache.hadoop.hive.ql.udf.generic.GenericUDF,并且实现其中的三个方法: 方法功…...
再聊 Flutter Riverpod ,注解模式下的 Riverpod 有什么特别之处,还有发展方向
三年前我们通过 《Flutter Riverpod 全面深入解析》 深入理解了 riverpod 的内部实现,而时隔三年之后,如今Riverpod 的主流模式已经是注解,那今天就让我们来聊聊 riverpod 的注解有什么特殊之处。 前言 在此之前,我们需要先回忆…...
每日一题----------String 和StringBuffer和StringBuiler重点
本质:是一个char字符数组存储字符串 总结: 1.如果字符串存在大量的修改操作,一般使用StringBuffer或者StringBuilder。 2.如果字符串存在大量的修改操作,并且单线程的情况,使用StringBuilder。 3.如果字符串存在大…...
使用AI一步一步实现若依前端(5)
功能5:侧边栏菜单动态显示 功能4:首页使用Layout布局 功能3:点击登录按钮实现页面跳转 功能2:静态登录界面 功能1:创建前端项目前言 在若依中,侧边栏显示的菜单项,是根据登录用户的角色动态显…...
如何在需求分析阶段考虑未来扩展性
在需求分析阶段考虑未来扩展性的关键在于 前瞻规划、灵活架构、标准设计。其中,前瞻规划尤为重要,因为通过全面分析业务发展趋势与技术演进,能够在初期设计阶段预留足够扩展空间,降低后期改造成本,为企业长期发展奠定坚…...
平面机械臂运动学分析
平面机械臂运动学分析 一 整体概述1 研究步骤: 二 正向1 几何分析2 matlab 仿真模拟(1)实现效果(2)matlab代码: 3 DH矩阵计算法(1)计算公式(2)计算结果验证&a…...