提升Spring Boot开发效率的Idea插件:Spring Boot Helper
一、Spring Boot Helper插件介绍
Spring Boot Helper是一款专为Spring Boot开发者设计的IntelliJ IDEA插件,它提供了丰富的功能来简化和加速Spring Boot应用程序的开发过程。
该插件能够智能识别Spring Boot项目结构,提供专属的代码生成、配置辅助和运行时支持,是Spring Boot开发者不可或缺的效率工具。
核心功能亮点:
- Spring Boot项目智能识别:自动检测并标记Spring Boot项目
- 一键式代码生成:快速创建Controller、Service、Repository等Spring组件
- 配置辅助:增强的application.properties/yml支持,包括自动补全和文档提示
- 运行状态可视化:直接查看和管理Spring Boot应用的运行状态
- 端点探索:自动发现和测试Spring Boot Actuator端点
- 依赖管理:简化Spring Boot依赖的添加和版本管理
二、安装与初始配置
安装步骤
- 打开IntelliJ IDEA,进入
File
>Settings
(Windows/Linux)或IntelliJ IDEA
>Preferences
(macOS) - 选择
Plugins
,然后点击Marketplace
- 搜索"Spring Boot Helper"
- 找到插件后点击
Install
按钮 - 安装完成后点击
Restart IDE
重启IDEA
插件激活与验证
- 重启后,打开或创建一个Spring Boot项目
- 右键点击项目根目录,应能看到新增的
Spring Boot Helper
菜单项 - 检查工具窗口栏,应出现
Spring Boot
工具窗口图标 - 打开application.properties/yml文件,应获得增强的编辑支持(如代码补全)
获取与激活
Spring Boot Helper插件需要激活后才能使用,点击这里获取
三、核心功能详解与实战操作
1. 快速生成Spring组件
创建Spring Boot Controller
- 在项目结构中右键点击目标包
- 选择
New
>Spring Boot
>Spring Controller
- 在弹出的对话框中输入控制器名称,如
UserController
- (可选)配置RequestMapping基础路径,如
/api/users
- 点击
OK
生成基础控制器代码
生成示例:
@RestController
@RequestMapping("/api/users")
public class UserController {@GetMappingpublic ResponseEntity<List<User>> getAllUsers() {// 自动生成的示例方法return ResponseEntity.ok(Collections.emptyList());}
}
创建Spring Service
- 右键点击目标包
- 选择
New
>Spring Boot
>Spring Service
- 输入服务名称,如
UserService
- 选择是否创建接口(默认创建实现类)
- 点击
OK
生成服务骨架
生成示例:
@Service
public class UserServiceImpl implements UserService {@Overridepublic List<User> getAllUsers() {// 自动生成的示例方法return Collections.emptyList();}
}
2. 增强的配置支持
application.yml智能补全
-
打开application.yml文件
-
开始输入配置属性时,插件会提供智能提示:
server:port: 8080 # 输入"server."时会自动提示所有server相关配置 spring:datasource:url: jdbc:mysql://localhost:3306/mydbusername: rootpassword: password
-
悬停在属性上会显示该属性的文档说明
-
右键点击属性可选择跳转到该属性的Java源码定义
配置快速导航
- 在编辑器左侧会出现Spring Boot配置的专属图标
- 点击图标可以快速跳转到相关配置类
- 支持从配置属性反向定位到代码中使用该属性的位置
3. Spring Boot运行管理
应用启动配置
- 打开
Spring Boot
工具窗口(通常位于IDE右侧) - 点击
+
按钮添加新的运行配置 - 选择主启动类
- (可选)配置VM参数、环境变量等
- 点击运行按钮启动应用
运行时信息查看
- 应用启动后,在
Spring Boot
工具窗口可以看到:- 所有的Spring Beans列表
- Actuator端点状态
- 配置属性最终生效值
- 可以展开查看Bean的依赖关系图
- 支持按名称搜索特定的Bean
4. 端点测试与探索
Actuator端点浏览
- 确保项目中包含
spring-boot-starter-actuator
依赖 - 启动应用后,在
Spring Boot
工具窗口选择Endpoints
标签 - 展开可以看到所有可用的Actuator端点
- 右键点击端点可选择
Open in Browser
或Send Request
自定义端点测试
- 对于自定义的Controller端点,可以:
- 右键点击方法选择
Test RESTful Web Service
- 插件会自动生成请求示例
- 支持修改参数后直接发送测试
- 右键点击方法选择
示例:
@RestController
@RequestMapping("/api/users")
public class UserController {@GetMapping("/{id}")public ResponseEntity<User> getUserById(@PathVariable Long id) {// 测试时插件会生成访问/user/1的请求}
}
四、高级功能与实战应用
1. 依赖管理增强
添加Spring Boot Starter
- 右键点击pom.xml或build.gradle文件
- 选择
Spring Boot
>Add Starter
- 在弹出的搜索框中输入需要的starter名称,如"web", “data-jpa”
- 选择合适版本(插件会推荐与当前项目兼容的版本)
- 点击
Add
自动添加到构建文件
Gradle示例:
dependencies {implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
}
依赖版本管理
- 插件会自动检测Spring Boot依赖的版本
- 当有新版可用时,会在依赖旁显示更新提示
- 右键点击依赖可选择
Update to latest version
2. Spring Boot DevTools集成
- 当项目中包含
spring-boot-devtools
时,插件会提供额外支持 - 自动配置热加载
- 在文件保存时显示重新加载状态
- 提供快速重启应用的按钮
3. 数据库迁移支持
Flyway/Liquibase集成
-
创建数据库迁移脚本时,插件提供:
- SQL语法高亮和校验
- 与Java实体类的关联提示
- 迁移历史查看
-
在实体类中添加字段时,可以:
- 右键点击字段选择
Generate Migration
- 插件会自动生成对应的迁移脚本
- 右键点击字段选择
示例:
@Entity
public class User {@Idprivate Long id;private String username;// 新增字段private String email;
}
生成的Flyway迁移脚本(V2__Add_email_to_user.sql):
ALTER TABLE user ADD COLUMN email VARCHAR(255);
五、实际开发场景应用示例
场景1:快速构建RESTful API
- 使用插件生成
ProductController
- 生成
ProductService
和ProductRepository
- 在application.yml中配置数据源
- 使用插件的端点测试功能验证API
完整代码结构:
com.example
├── controller
│ └── ProductController.java
├── service
│ ├── ProductService.java
│ └── ProductServiceImpl.java
├── repository
│ └── ProductRepository.java
└── model└── Product.java
场景2:微服务配置管理
- 使用插件快速添加
spring-cloud-starter-config
依赖 - 在bootstrap.yml中配置Config Server设置
- 利用插件的配置提示功能确保正确配置
- 通过
Spring Boot
工具窗口验证配置是否生效
场景3:性能监控配置
- 使用插件添加
spring-boot-starter-actuator
和micrometer-registry-prometheus
- 通过智能补全配置actuator端点暴露:
management:endpoints:web:exposure:include: health, info, metrics, prometheus
- 使用插件的内置HTTP客户端测试端点
六、最佳实践与技巧
-
项目结构组织:按照插件的生成模式组织代码(controller/service/repository分层)
-
配置分组:利用插件的配置提示将相关属性组织在一起
-
开发效率组合键:
Ctrl+Shift+S
(Windows/Linux) 或Cmd+Shift+S
(macOS):快速生成Spring组件Alt+Insert
:在Java类中快速生成Spring相关的代码(如RequestMapping方法)
-
调试技巧:
- 在
Spring Boot
工具窗口中右键点击Bean可以查看其依赖图 - 在配置属性上按
Ctrl+B
(Windows/Linux)或Cmd+B
(macOS)跳转到源码定义
- 在
-
团队协作:
- 统一Spring Boot和插件版本
- 分享自定义的代码生成模板
七、常见问题解决方案
Q: 插件无法识别我的Spring Boot项目?
A: 确保:
- 项目正确引入了Spring Boot的starter依赖
- 有明确的
@SpringBootApplication
主类 - 项目结构符合Maven/Gradle标准
Q: 配置提示不工作?
A: 尝试:
- 重新导入项目(右键项目 > Maven/Gradle > Reimport)
- 检查是否使用了插件支持的配置格式(properties/yml)
- 确保没有语法错误导致文件解析失败
Q: 生成的代码不符合我们团队规范?
A: 可以:
- 通过
Settings
>Editor
>File and Code Templates
自定义模板 - 修改插件生成的默认代码风格
- 创建团队共享的模板文件
Q: 插件导致IDEA变慢?
A: 建议:
- 增加IDEA的内存设置
- 在大型项目中关闭实时扫描功能
- 定期清理插件缓存
八、总结
Spring Boot Helper插件通过深度集成Spring Boot生态系统,为开发者提供了全方位的开发支持:
- 加速项目搭建:一键生成标准化的Spring组件
- 减少配置错误:智能的配置提示和验证
- 提升调试效率:直观的运行状态监控
- 简化依赖管理:starter依赖的快速添加和版本控制
通过本指南的系统介绍,您可以将Spring Boot Helper插件深度整合到您的开发工作流中,显著提升Spring Boot应用的开发效率和质量。无论是新手还是有经验的Spring开发者,都能从中获得显著的效率提升。
相关文章:
提升Spring Boot开发效率的Idea插件:Spring Boot Helper
一、Spring Boot Helper插件介绍 Spring Boot Helper是一款专为Spring Boot开发者设计的IntelliJ IDEA插件,它提供了丰富的功能来简化和加速Spring Boot应用程序的开发过程。 该插件能够智能识别Spring Boot项目结构,提供专属的代码生成、配置辅助和运…...
【USTC 计算机网络】第三章:传输层 - 面向连接的传输:TCP
本文介绍了面向连接的传输协议:TCP,首先介绍 TCP 报文段的结构以及如何设置超时定时器,接着介绍 TCP 如何实现可靠数据传输以及流量控制,最后介绍 TCP 中最重要的三次握手与四次挥手的连接建立与关闭过程。 1. TCP 概述与段结构 …...
Linux主要开发工具之gcc、gdb与make
此系列还有两篇,大家想完整掌握可以阅读另外两篇 Linux文本编辑与shell程序设计-CSDN博客 Linux基础知识详解与命令大全(超详细)-CSDN博客 1.gcc编译系统 1.1 文件名后缀 文件名后缀 文 件 类 型 文件名后缀 文 件 类 型 .c C源…...
23种设计模式-行为型模式-观察者
文章目录 简介问题解决代码关键实现说明 总结 简介 观察者是一种行为设计模式, 允许你定义一种订阅通知机制, 可在事件发生时通知多个“观察/订阅”该对象的其他对象。 问题 假如你有两种类型的对象: 顾客和商店。顾客对某个新品非常感兴趣࿰…...
去中心化预测市场
去中心化预测市场 核心概念 预测市场类型: 类别型市场:二元结果(YES/NO),例如“BTC在2024年突破10万美元?” 多选型市场:多个选项(如总统候选人),赔付基于…...
springboot-ai接入DeepSeek
1、引入pom依赖 <dependency><groupId>org.springframework.ai</groupId><artifactId>spring-ai-starter-model-openai</artifactId> </dependency><dependencyManagement><dependencies><dependency><groupId>o…...
【C语言】数据在内存中的储存(整形)
目录 前言: 预备知识 整数在内存中的储存 原码 反码 补码 总结: 前言: 在上两章中讲解了五大内存函数,其中memchr函数,这个函数考察到数据内存的存储。 接下来为大家讲解整数在内存中的储存。 预备知识 认识…...
PCL 树木树干粗提取(地基数据,TLS)
文章目录 一、简介二、实现代码三、实现效果参考资料一、简介 主要的思路如下: 1、首先,使用之前的CSF算法提取点云的地面点,在提取的过程中我们可以得到一个布料结构(地面模型)。 2、在得到这个布料结构之后,我们也就可以得到整个地面模型的高度了,之后我们只需要遍历每…...
Spring 中的 IOC
🌱 一、什么是 IOC? 📖 定义(通俗理解): IOC(Inversion of Control,控制反转) 是一种设计思想:对象不再由你自己创建和管理,而是交给 Spring 容器…...
尚硅谷2019版Java集合和泛型
第十一章 Java集合框架 集合框架全景图 mindmaproot((Java集合))Collection单列List有序可重复ArrayListLinkedListVectorSet无序唯一HashSetLinkedHashSetTreeSetMap双列HashMapLinkedHashMapTreeMapHashtablePropertiesToolsCollectionsArrays三大核心接口对比 特性ListSe…...
车载诊断架构 --- 整车重启先后顺序带来的思考
我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 周末洗了一个澡,换了一身衣服,出了门却不知道去哪儿,不知道去找谁,漫无目的走着,大概这就是成年人最深的孤独吧! 旧人不知我近况,新人不知我过…...
华为eNSP:实验 配置单区域集成ISIS
单区域集成ISIS是一种基于中间系统到中间系统(IS-IS)协议的网络架构优化方案,主要用于简化网络设计并提升数据传输效率。其核心特点包括: 单一区域部署 ISIS协议在单一逻辑区域内运行,消除多区域间的分层复杂性&am…...
常见框架漏洞(五)----中间件IIS6
一、【PUT漏洞】 漏洞描述:IIS Server 在 Web 服务扩展中开启了 WebDAV ,配置了可以写⼊的权限,造成任意⽂件上传。 版本:IIS 6.0 1. 环境 fofa搜素环境:"IIS-6.0" 或者环境搭建:本地搭建2003…...
leetcode221.最大正方形
class Solution {public int maximalSquare(char[][] matrix) {int result 0; // 记录正方形边长int m matrix.length, n matrix[0].length;int[][] dp new int[m 1][n 1];// 动态规划for (int i 1; i < m; i) {for (int j 1; j < n; j) {if (matrix[i - 1][j - …...
C++实现AVL树
一 AVL树的概念 上上节我们学习了二叉搜索树,他的理想查找的时间复杂度是o(log n),但是如果是下面这种情况,那么它的时间复杂度就会变成o(n). 这种情况就是出现一边高的那种,它的个数和它的高度相差不大。 那么这样就会把二叉搜索…...
Linux系统安全及应用
目录 一.账号安全措施 1.1系统账号清理 1.1.1将非登录用户的shell设为无法登录 1.1.2删除无用用户 userdel 1.1.3锁定账号文件 1.1.4锁定长期不使用的账号 1.2密码安全控制 1.2.1 对新建用户 1.2.2对已有用户 1.3命令历史限制 1.3.1临时清除历史命令 1.3.2限制命令…...
JAVA反序列化深入学习(十三):Spring2
让我们回到Spring Spring2 在 Spring1 的触发链上有所变换: 替换了 spring-beans 的 ObjectFactoryDelegatingInvocationHandler使用了 spring-aop 的 JdkDynamicAopProxy ,并完成了后续触发 TemplatesImpl 的流程 简而言之,换了一个chain&am…...
迭代器运算详解(四十二)
1. 迭代器的随机访问运算 对于 vector 和 string 这样的容器,它们的迭代器支持以下随机访问运算符: 运算符说明iter n返回一个新的迭代器,该迭代器比原来的迭代器 iter 向前移动了 n 个位置(即指向后面的第 n 个元素࿰…...
Linux中Squid服务常用操作
在 Linux 中 Squid 服务常用操作介绍 1. Squid 基础操作 启动 Squid # 前台启动(调试用) squid -N -d 1# 后台启动(-s 表示将日志输出到 syslog) squid -s停止 Squid # 安全停止(需配置 pid_file) squid…...
Linux操作系统--进程的概念
目录 1.了解进程前的前景知识 冯诺依曼体系结构 操作系统(OS) 2.进程 2.1进程的概念 2.2描述进程-PCB 2.2.1task_struct 2.3查看进程 2.4通过系统调用获取进程的标识符 2.5认识fork()--创建进程 该专栏会持续更新 更新时间一周一更。下周更新内容进程状态 1.了解进程前…...
C++假期练习
思维导图 牛客练习...
HTML零基础入门笔记:狂神版
前言 本笔记是学习狂神的java教程,建议配合视频,学习体验更佳。 【狂神说Java】HTML5完整教学通俗易懂_哔哩哔哩_bilibili 第1-2章:Java零基础入门笔记:(1-2)入门(简介、基础知识)-CSDN博客 第3章&…...
算法竞赛备赛——【图论】链式前向星
图论 图的存储方式: 通用的三种:邻接矩阵、邻接表、边集数组 有向图:十字链表 无向图:多重邻接表 刷题常用:邻接矩阵、链式前向星(邻接表变形) 链式前向星 算法题常用: 邻接矩阵、二维vector模…...
JAVA_类和对象
目录 1.面向对象的初步认知 1.1.什么是面向对象 1.2.面向对象与面向过程 2.类的定义和使用 2.1.简单认识类 2.2类的定义格式 2.3.练习 学生类 动物类(可爱猫猫🐱) 3.类的实例化 3.1.什么是实例化 3.2.类和对象的说明 4.this引用…...
高频面试题(含笔试高频算法整理)基本总结回顾65
干货分享,感谢您的阅读! (暂存篇---后续会删除,完整版和持续更新见高频面试题基本总结回顾(含笔试高频算法整理)) 备注:引用请标注出处,同时存在的问题请在相关博客留言…...
数据库系统-数据库控制
并发控制 事务的ACID特性: 原子性(Atomicity):事务包含的所有操作要么全部成功(commit提交),要么全部失败(rollback回滚)一致性(Consistency)&a…...
Python Cookbook-5.3 根据对象的属性将对象列表排序
任务 需要根据各个对象的某个属性来完成对整个对象列表的排序。 解决方案 DSU方法仍然一如既往地有效: def sort_by_attr(sed,attr):intermed [ (getattr(x,attr),i,x) for i,x in enumerate(seg)]intermed.sort()return [ x[-1] for x in intermed def sort_by_attr_inpl…...
Java MCP SDK 开发笔记(一)
MCP 简介 AI 大模型诞生之初,其高度模拟人的对话之能力惊为天人。但我们肯定不希望止步于此—— 工具化就是我们希望 AI 能够完成的目标,由此可以从单纯的对话发展为代替繁复人力的“干活”。这条道路上毋庸置疑 AI 大模型任重道远。而 MCP(Model Contr…...
AF3 OpenFoldDataLoader类_prep_batch_properties_probs方法解读
AlphaFold3 data_modules 模块的 OpenFoldDataLoader 类的 _prep_batch_properties_probs 方法是为每个批次数据准备 recycling 维度 的概率分布。它将根据配置文件中的设定为每个批次数据生成 recycling 轮次的概率分布,并存储到 prop_probs_tensor 中,用于后续抽样选择特定…...
寻找字符串数组中的最长共同前缀字符串
问题描述:给定一个字符串数组 strs,编写一个函数来找到这些字符串的最长公共前缀字符串,如果没有则返回空字符串"" 算法思路 横向扫描法: 从数组的第一个字符串开始,逐个和后面的字符串比较,逐…...
leetcode_数组 56. 合并区间
56. 合并区间 以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] [starti, endi] 。请你合并所有重叠的区间,并返回 一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间 。 示例 1: 输入:int…...
Jenkins学习(B站教程)
文章目录 1.持续集成CI2.持续交付CD3.持续部署4.持续集成的操作流程5.jenkins简介6.后续安装部署,见视频 bilibili视频 Jenkins是一个开源的、提供友好操作界面的持续集成(CI)工具,起源于Hudson(Hudson是商用的),主要用…...
学习笔记—C++—类和对象(一)
目录 类和对象 类的定义 类定义格式 访问限定符 类域 实例化 实例化概念 对象的大小 this指针 C和C语言实现Stack对比 类和对象 类的定义 类定义格式 ● class为定义类的关键字,Stack为类的名字,{}中为类的主体,注意类定义结束时后…...
PyTorch 深度学习 || 6. Transformer | Ch6.3 Transformer 简单案例
1. 简单案例 这个代码是一个简单的 Transformer 模型的实现,这个例子展示了一个基本的序列到序列(seq2seq)任务,比如将一个数字序列转换为另一个数字序列。可以用于学习和理解 Transformer 的基本结构和工作原理。 import torch import torch.nn as nn import math# 位置…...
体育风暴篮球足球体育球员综合资讯网站模板
源码名称:篮球足球体育球员综合资讯网站模板 开发环境:帝国cms7.5 空间支持:phpmysql 带软件采集,可以挂着自动采集发布,无需人工操作! 演示地址:https://www.52muban.com/shop/184016.html …...
Visual Studio Code SSH 连接超时对策( keep SSH alive)
文章目录 问题解决方法一:配置服务端关于ClientAliveInterval和ClientAliveCountMax1、打开终端,打开SSH配置文件:输入以下命令:2、打开配置文件后,添加以下内容:3、添加后,Esc按 <Enter>…...
Docker容器中的ubuntu apt update报错 解决办法
问题现象 # apt update Get:1 http://archive.ubuntu.com/ubuntu noble InRelease [256 kB] Get:2 http://security.ubuntu.com/ubuntu noble-security InRelease [126 kB] Err:2 http://security.ubuntu.com/ubuntu noble-security InRelease At least one invalid signa…...
CV - 目标检测
物体检测 目标检测和图片分类的区别: 图像分类(Image Classification) 目的:图像分类的目的是识别出图像中主要物体的类别。它试图回答“图像是什么?”的问题。 输出:通常输出是一个标签或一组概率值&am…...
linux提权 corn 提权
corn提权 corn的基本使用方法 corn的作用就是可以定时的完成一下任务(如备份一下log 或者清除一下日志文件 这些就是运维人员用的) 先找一下定时任务的工作表 cat /bin/corntab 这个是普通用户 我们直接看都看不了 说明什么说明这个 是root高权限执…...
1Panel安装失败 国内docker安装失败
本文仅针对学习交流,只为了帮助计算机相关专业大学生个人技能实操而记录 非学习目的严禁学习!!!否则后果自负 1、离线安装1Panel(不需要手动安装docker,离线安装包里包括了docker) 离线包下载地…...
Excel + VBA 实现“准实时“数据的方法
Excel 本身是静态数据处理工具,但结合 VBA(Visual Basic for Applications) 可以实现 准实时数据更新,不过严格意义上的 实时数据(如毫秒级刷新)仍然受限。以下是详细分析: 1. Excel + VBA 实现“准实时”数据的方法 (1) 定时刷新(Timer 或 Application.OnTime) Appl…...
请问你怎么看待测试,指导哪些测试的类型,有用过哪些测试方法?
作为深耕测试领域多年的博主,我始终认为测试是软件质量的守护者,更是推动研发流程优化的催化剂。以下从测试认知、分类体系到实战方法论,结合具体案例为你系统拆解: 一、测试的本质认知 测试≠找 Bug,而是通过系统性验证回答三个核心问题: 软件是否符合用户需求?系统在…...
详解 Redis repl_backlog_buffer(如何判断增量同步)
一、repl_backlog_buffer 复制积压缓冲区(Replication Backlog Buffer) 是一个环形内存区域(Ring Buffer),用于临时保存主节点最近写入的写命令,以支持从节点断线重连后的增量同步。 1.1 三个复制偏移量 …...
工业操作系统国产化替代的战略路径与挑战分析
一、政策背景与战略意义 工信部提出的 2027 年替换 80 万套工业操作系统计划,是中国制造业向智能化转型的核心举措。该政策旨在通过国产化替代,解决工业领域 “缺芯少魂” 的问题,构建自主可控的工业软件生态体系。当前,中国工业操…...
JMeter接口性能测试从入门到精通
前言: 本文主要介绍了如何利用jmter进行接口的性能测试 1.在测试计划中添加线程组 1.1.线程组界面中元素含义 如果点击循环次数为永远: 2.添加HTTP取样器 2.1.填写登录接口的各个参数 2.2.在线程组下面增加查看结果树 请求成功的情况: 请求…...
WinForm真入门(9)——RichTextBox控件详解
WinForm中RichTextBox控件详解:从基础到高级应用 上一文中笔者重点介绍了TextBox控件的详细用法,忘记的 请点击WinForm真入门(8)——TextBox控件详解,那么本文中的RichTextBox与TextBox有什么区别吗,光看名字的话,多了…...
Linux : 内核中的信号捕捉
目录 一 前言 二 信号捕捉的方法 1.sigaction()编辑 2. sigaction() 使用 三 可重入函数 四 volatile 关键字 一 前言 如果信号的处理动作是用户自定义函数,在信号递达时就调用这个函数,这称为捕捉信号。在Linux: 进程信号初识-CSDN博客 这一篇中已经学习到了一种信号…...
Linux 字符串截取#与%
在Linux的Shell脚本中,#和%用于字符串截取,通过通配符模式匹配删除部分内容 批量修改文件名技巧:Linux下#、##、%、%%符号操作详解-CSDN博客 从左截取(# 和 ##) #:删除最短匹配左侧内容。 ##:…...
Android学习总结之自定义View实战篇
场景一:自定义进度条 在很多应用中,我们会看到一些独特样式的进度条,接下来就实现一个简单的圆形进度条。 实现思路 继承 View 类。重写 onDraw 方法,在该方法里使用 Canvas 和 Paint 来绘制圆形进度条。提供更新进度的方法。 …...
C++ STL 详解 ——list 的深度解析与实践指南
在 C 的标准模板库(STL)中,list作为一种重要的序列式容器,以其独特的双向链表结构和丰富的操作功能,在许多编程场景下发挥着关键作用。深入理解list的特性与使用方法,能帮助开发者编写出更高效、灵活的代码…...