05-Spring Boot工程中简化开发的方式Lombok和dev-tools
简化开发的方式Lombok和dev-tools
Lombok常用注解
Lombok用标签方式代替构造器、getter/setter、toString()等重复代码, 在程序编译的时候自动生成这些代码
| 注解名 | 功能 |
|---|---|
| @NoArgsConstructor | 生成无参构造方法 |
| @AllArgsConstructor | 生产含所有属性的有参构造方法,如果不希望含所有属性则需要手动生成 |
| @Getter | 生成属性的getter方法 |
| @Setter | 生成属性的setter方法 |
| @ToString | 生成toString方法 |
| @EqualsAndHashCode | 生成equals和HashCode方法callSuper = true表示用自己的属性和从父类继承的属性来生成hashcodecallSuper = false(默认)表示只用自己的属性来生成hashcode |
| @Data | 除了不能生成有参构造方法,以上注解能生成的@Data都能生成 |
| @Slf4j | 注入log日志类,简化日志开发, log.info()在控制台上输出信息,方便调试 |
| @Accessors | 在生成 getter 和 setter 方法时做一些相关的设置 作用于类上时修饰类中所有字段,当作用于具体字段时只对该字段有效 chain属性值默认为false,当该值为true时对应字段的setter方法调用后会返回当前对象即可以实现链式调用 |
使用步骤
第一步引入依赖org.projectlombok: Spring Boot父工程中已经指定了Lombok的版本号
<dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId>
</dependency>
第二步: 搜索并安装Lombok插件

第三步: 测试Lombok提供的相关注解的功能
@Data
public class User {private String name;private Integer age;private Pet pet;public User(String name,Integer age){this.name = name;this.age = age;}
}@Slf4j
@RestController
public class HelloController {@RequestMapping("/hello")public String handle01(@RequestParam("name") String name){log.info("请求进来了....");return "Hello, Spring Boot 2!"+"你好:"+name;}
}
dev-tools依赖
热更新: 在工程中添加spring-boot-devtools依赖,这样当项目或者页面源代码修改以后按住Ctrl+F9可以快速编译项目并重新加载
<dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><optional>true</optional></dependency>
</dependencies>
相关文章:
05-Spring Boot工程中简化开发的方式Lombok和dev-tools
简化开发的方式Lombok和dev-tools Lombok常用注解 Lombok用标签方式代替构造器、getter/setter、toString()等重复代码, 在程序编译的时候自动生成这些代码 注解名功能NoArgsConstructor生成无参构造方法AllArgsConstructor生产含所有属性的有参构造方法,如果不希望含所有属…...
AIGC 技术在淘淘秀场景的探索与实践
本文介绍了AIGC相关领域的爆发式增长,并探讨了淘宝秀秀(AI买家秀)的设计思路和技术方案。文章涵盖了图像生成、仿真形象生成和换背景方案,以及模型流程串联等关键技术。 文章还介绍了淘淘秀的使用流程和遇到的问题及处理方法。最后,文章展望…...
ANSYS网格无关性检查
网格精度对应力结果存在很大的影响,有时候可以发现,随着网格精度逐渐提高,所求得的最大应力值逐渐趋于收敛。 默认网格: 从默认网格下计算出的应力云图可以发现,出现了的三处应力奇异点,此时算出的应力值是…...
设计模式-责任链-笔记
动机(Motivation) 在软件构建过程中,一个请求可能被多个对象处理,但是每个请求在运行时只能有个接受者,如果显示指定,将必不可少地带来请求者与接受者的紧耦合。 如何使请求的发送者不需要指定具体的接受…...
SpringMvc请求原理流程
springmvc是用户和服务沟通的桥梁,官网提供了springmvc的全面使用和解释:DispatcherServlet :: Spring Framework 流程 1.Tomcat启动 2.解析web.xml文件,根据servlet-class找到DispatcherServlet,根据init-param来获取spring的…...
【开源】基于Vue.js的音乐偏好度推荐系统的设计和实现
项目编号: S 012 ,文末获取源码。 \color{red}{项目编号:S012,文末获取源码。} 项目编号:S012,文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、系统设计2.1 功能模块设计2.1.1 音乐档案模块2.1…...
采集1688整店商品(店铺所有商品、店铺列表api)
返回数据: 请求链接 {"user": [],"items": {"item": [{"num_iid": "738354436678","title": "国产正品i13 promax全网通5G安卓智能手机源头厂家批发手机","pic_url": "http…...
IObit Unlocker丨解除占用程序软件
更多内容请收藏:https://rwx.tza-3.xyz 官网:IObit Unlocker “永远不用担心电脑上无法删除的文件。” 界面简单,支持简体中文,一看就会,只需要把无法删除/移动的文件或整个U盘拖到框里就行。 解锁率很高,…...
开发一款小程序游戏需要多少钱?
小程序游戏的开发成本因多种因素而异,无法提供具体的固定数字。以下是影响小程序游戏开发成本的一些关键因素: 游戏规模和复杂度: 小程序游戏可以是简单的休闲游戏,也可以是更复杂的策略游戏。规模和复杂度会影响开发所需的时间和…...
基于Vue+SpringBoot的校园电商物流云平台开源项目
项目编号: S 034 ,文末获取源码。 \color{red}{项目编号:S034,文末获取源码。} 项目编号:S034,文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 商品数据模块2.3 快…...
庖丁解牛:NIO核心概念与机制详解 03 _ 缓冲区分配、包装和分片
文章目录 Pre概述缓冲区分配和包装 (allocate 、 wrap)缓冲区分片 (slice)缓冲区份片和数据共享只读缓冲区 (asReadOnlyBuffer)直接和间接缓冲区 (allocateDirect)内存映射文件 I/O将文件映射到内存(map) Pre 庖丁解牛࿱…...
002 OpenCV dft 傅里叶变换
目录 一、傅里叶变换 1.1 傅里叶变换概念 1.2 opencv中傅里叶变换 二、实验代码 一、环境 本文使用环境为: Windows10Python 3.9.17opencv-python 4.8.0.74 二、傅里叶变换 2.1 傅里叶变换概念 傅里叶变换(Fourier Transform)是一种…...
力扣:171. Excel 表列序号(Python3)
题目: 给你一个字符串 columnTitle ,表示 Excel 表格中的列名称。返回 该列名称对应的列序号 。 例如: A -> 1 B -> 2 C -> 3 ... Z -> 26 AA -> 27 AB -> 28 ... 来源:力扣(LeetCode) …...
C++中结构体的初始化
C中结构体的初始化 结构体是一个由程序员定义的数据类型,可以容纳许多不同的数据值。在过去,面向对象编程的应用尚未普及之前,程序员通常使用这些从逻辑上连接在一起的数据组合到一个单元中。一旦结构体类型被声明并且其数据成员被标识&…...
vue3+vite+ts 发布自定义组件到npm
vue3vite 发布自定义组件到npm 初始化项目编写组件配置打包组件上传到npm测试组件库 初始化项目 // 创建项目 pnpm create vite vue-test-app --template vue-ts// 运行项目 cd vite vue-test-app pnpm install pnpm run dev编写组件 1、根目录下创建packages目录作为组件的开…...
mybatis使用xml形式配置
以这个注解形式的查询代码为例 Select("select * from emp where name like concat(%,#{name},%) and gender #{gender} and entrydate between #{begin} and #{end} order by update_time desc ")public List<Emp> list(String name, Short gender, LocalDat…...
开源简历生成器OpenResume
什么是 OpenResume ? OpenResume 是一个功能强大的开源简历生成器和简历解析器。OpenResume 的目标是为每个人提供免费的现代专业简历设计,让任何人都能充满信心地申请工作。 OpenResume 有 5 个核心特点: 特征描述1. 实时UI更新当您输入简历…...
AI变现之Gpts搞流量+赚钱
文章目录 Gpts | 搞流量 + 赚钱1.项目介绍2.项目分析3.项目实操4.变现路径Gpts | 搞流量 + 赚钱 1.项目介绍 这两天 AI 圈最火的莫过于 OpenAI 开发者大会公布的一个爆炸产品 Gpts 了,大家都知道这个肯定是一个划时代的产品,也绝对是一个风口,虽然官方还没有公布到底怎么通…...
音视频项目—基于FFmpeg和SDL的音视频播放器解析(十六)
介绍 在本系列,我打算花大篇幅讲解我的 gitee 项目音视频播放器,在这个项目,您可以学到音视频解封装,解码,SDL渲染相关的知识。您对源代码感兴趣的话,请查看基于FFmpeg和SDL的音视频播放器 如果您不理解本…...
Elasticsearch文档操作
一、Elasticsearch的CURD 1、CURD之Create PUT lqz/doc/1 {"name":"顾老二","age":30,"from": "gu","desc": "皮肤黑、武器长、性格直","tags": ["黑", "长", "直…...
Qt桌面应用集成PaddleOCR:从环境搭建到精准识别的实践指南
1. 环境准备:搭建PaddleOCR的Qt开发环境 第一次在Qt里折腾PaddleOCR时,我对着官方文档折腾了半天还是报错,后来发现是第三方库的路径没配好。这里分享下我踩坑后总结的可靠方案。 核心依赖三件套:PaddlePaddle推理库、PaddleOCR C…...
黑客为什么不攻击微信钱包?
黑客为什么不攻击微信钱包? 现在人人手机里都装着微信和支付宝,里面都或多或少存了些钱。怎么从来没听说谁的钱被技术牛逼黑客惦记走? 是黑客没攻击过?还是黑客不敢攻击?其实都不是。阿里巴巴首席风险官郑俊芳就说过&…...
新手必看:Neeshck-Z-lmage_LYX_v2界面状态管理,让你的设置不再丢失
新手必看:Neeshck-Z-lmage_LYX_v2界面状态管理,让你的设置不再丢失 1. 工具简介:为什么需要状态管理? 当你第一次打开Neeshck-Z-lmage_LYX_v2这个绘画工具时,可能会被它简洁的界面所吸引。但真正让它与众不同的&…...
WebPages 发布
WebPages 发布 引言 随着互联网技术的飞速发展,Web技术已经成为现代信息社会不可或缺的一部分。WebPages作为Web技术的重要应用,旨在为用户提供高效、便捷的网页浏览体验。本文将详细介绍WebPages的发布过程,包括技术选型、功能设计、性能优化以及用户体验等方面。 技术选…...
C++实战:高精度阶乘算法的实现与优化
1. 为什么我们需要高精度阶乘算法? 当你第一次学习编程时,可能会用循环或递归来实现阶乘计算。比如用C写个简单的for循环,轻松计算出5! 120。但当你尝试计算20!时,事情就开始变得有趣了——你会发现结果完全不对,甚至…...
算法审判日:用Git记录定程序员罪孽
一、版本控制的“审判台”在软件质量保障体系中,Git早已超越单纯的版本管理工具,演变为代码行为的“司法档案库”。每一次git commit都是程序员在数字法庭上的宣誓证词,而git blame则成为测试人员追溯缺陷根源的刑侦工具。罪证链条的三重维度…...
如何让数学公式编辑达到手写速度:Obsidian LaTeX Suite深度解析
如何让数学公式编辑达到手写速度:Obsidian LaTeX Suite深度解析 【免费下载链接】obsidian-latex-suite Make typesetting LaTeX as fast as handwriting through snippets, text expansion, and editor enhancements 项目地址: https://gitcode.com/gh_mirrors/o…...
Qwen3-4B极速体验:流式输出+多轮记忆,打造丝滑文本交互
Qwen3-4B极速体验:流式输出多轮记忆,打造丝滑文本交互 在当今AI技术快速发展的背景下,文本交互模型已经成为日常工作和创作的重要助手。Qwen3-4B-Instruct-2507作为阿里通义千问系列中的纯文本优化版本,通过移除视觉模块冗余&…...
Phi-3-mini-4k-instruct-gguf详细步骤:模型升级路径与q4/q5_k_m量化对比测试
Phi-3-mini-4k-instruct-gguf详细步骤:模型升级路径与q4/q5_k_m量化对比测试 1. 模型概述与使用场景 Phi-3-mini-4k-instruct-gguf是微软Phi-3系列中的轻量级文本生成模型GGUF版本,特别适合以下应用场景: 智能问答系统文本改写与润色内容摘…...
从‘它怎么又挂了’到‘服务稳如狗’:我是如何用Prometheus+Grafana搭建业务监控看板的
从被动救火到主动防御:PrometheusGrafana构建业务监控实战手册 凌晨三点,手机突然响起刺耳的警报声——这已经是本周第三次了。揉着惺忪的睡眼查看日志,却发现关键线索早已被淹没在海量的调试信息中。这样的场景对于中小技术团队来说再熟悉不…...
