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

不满意Oh My Zsh启动卡顿,来试试Starship吧坷

pagehelper整合引入依赖com.github.pagehelperpagehelper-spring-boot-starter2.1.0compile编写代码GetMapping(/list/{pageNo})public PageInfo findAll(PathVariable int pageNo) {// 设置当前页码和每页显示的条数PageHelper.startPage(pageNo, 10);// 查询数据List allVip vipService.findAllVip();// 将数据封装到pageinfo对象中PageInfo pageInfo new PageInfo(allVip);return pageInfo;}web层响应结果的封装对于前后端分离的系统来说后端会返回json数据一般会封装一个R对象来解决统一响应格式问题。package com.ali.springboot3ssm.result;import lombok.AllArgsConstructor;import lombok.Builder;import lombok.Data;import lombok.NoArgsConstructor;DataNoArgsConstructorAllArgsConstructorBuilder // 建造模式public class R {// 响应状态码private int code;// 消息描述成功或失败private String msg;// 响应对象任意类型对象private T data;public static R OK(T data) {return R.builder().code(200).msg(成功).data(data).build();}// 成功的方法public static R OK() {return R.builder().code(200).msg(成功).build();}// 失败的方法public static R FAIL(int code,String msg) {return R.builder().code(code).msg(msg).build();}public static R FAIL() {return R.builder().code(400).msg(失败).build();}}controller中使用GetMapping(/list/{pageNo})public R PageInfo findAll(PathVariable int pageNo) {// 设置当前页码和每页显示的条数,设置后会自动为查询语句加limitPageHelper.startPage(pageNo, 10);// 查询数据List allVip vipService.findAllVip();// 将数据封装到pageinfo对象中PageInfo pageInfo new PageInfo(allVip);return R.OK(pageInfo);}改进R对象添加一个枚举类型package com.ali.springboot3ssm.enums;import lombok.AllArgsConstructor;import lombok.Getter;import lombok.NoArgsConstructor;import lombok.Setter;NoArgsConstructorAllArgsConstructorpublic enum CodeEnum {// 枚举的大括号一开始的位置必须有枚举值// 枚举值下面如果没有代码枚举值列表最后的“”可以省略// 枚举值下面如果有代码枚举值列表最后的“” 不可以省略OK(200, OK),FAIL(400, 失败),BAD_REQUEST(400, 失败),NOT_FOUND(400, 失败),INTERNAL_ERROR(400, 失败),MODIFICATION_ERROR(400, 失败),DELETION_ERROR(400, 失败),CREATE_ERROR(400, 失败);GetterSetterprivate int code;GetterSetterprivate String msg;}重写R类DataNoArgsConstructorAllArgsConstructorBuilder // 建造模式public class R {// 响应状态码private int code;// 消息描述成功或失败private String msg;// 响应对象任意类型对象private T data;public static R OK(T data) {return R.builder().code(CodeEnum.OK.getCode()).msg(CodeEnum.OK.getMsg()).data(data).build();}// 成功的方法public static R OK() {return R.builder().code(CodeEnum.OK.getCode()).msg(CodeEnum.OK.getMsg()).build();}// 失败的方法public static R FAIL(CodeEnum codeEnum) {return R.builder().code(codeEnum.getCode()).msg(codeEnum.getMsg()).build();}public static R FAIL() {return R.builder().code(CodeEnum.FAIL.getCode()).msg(CodeEnum.FAIL.getMsg()).build();}}事务管理spring boot自动配置了事务管理器。只需要使用Transactional注解标注需要事务控制的方法即可。就这么简单。怎么打war包修改pom文件warorg.springframework.bootspring-boot-starter-weborg.springframework.bootspring-boot-starter-tomcatorg.springframework.bootspring-boot-starter-tomcatprovided启动类继承SpringBootServletInitializer类并重写configure方法MapperScan(basePackages com.ali.springboot3ssm.repository)SpringBootApplicationpublic class Springboot3SsmApplication extends SpringBootServletInitializer {Overrideprotected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {return builder.sources(Springboot3SsmApplication.class);}public static void main(String[] args) {SpringApplication.run(Springboot3SsmApplication.class, args);}}日志处理抽象的日志框架什么时抽象的日志框架编译阶段可以使用抽象的日志框架能正常编译。但运行阶段必须提供具体的日志框架目的是具体的日志框架可灵活切换。抽象框架有SLF4J 、 Commons Logging。这2个都可以绑定具体的日志框架如Log4j、Log4j2、Logback、JUL具体的日志框架Log4j已过时、Log4j2推荐、Logback推荐、JULJava util Logging功能有限适合小型应用spring boot默认集成log back日志级别日志级别由低到高trace级别最低。记录最详细信息通常在调试时使用debug记录程序运行时的详细信息比如变量的值进入或退出某个方法等主要用于开发时调试info记录一般信息如系统启动、服务初始化完成等表示程序运行正常。warn警告信息error错误信息生成环境中 通常把日志级别设为info或更高级别开发或测试环境中设为debug或tracespring boot默认日志级别是infoSlf4j // 这是lombok的一个注解作用是为我们维护一个日志对象logSpringBootApplicationpublic class Springboot3SsmApplication {public static void main(String[] args) {SpringApplication.run(Springboot3SsmApplication.class, args);// 直接使用loglog.info(日志信息);}}调整日志级别# 调整日志级别logging.level.rootdebug日志的粗细粒度# 调整根日志级别全局的整个项目都是这个级别logging.level.rootdebug# 为特定包设置日志级别logging.level.com.ali.springboot3ssm.controllerdebug# 为特定类设置日志级别logging.level.com.ali.springboot3ssm.service.UserServicetrace# 在控制台中打印sql (这个包是Mapper类所在的包)logging.level.com.ali.springboot3ssm.repositorydebug日志输出到文件有2种方式这2种方式不能共存如果同时存在只有logging.file.name生效# 将日志文件输出到当前项目根目录下的log目录中。文件名默认spring.log 并且文件名不可修改# 路径可随便改。可以是硬盘上的任意有权限路径logging.file.path./log/# 日志文件输出到当前项目根目录下my.log文件。路径不可修改logging.file.namemy.log滚动日志防止日志无线增长将日志文件分割成多个文件避免单个文件过大难以处理# 此策略仅适合logback# 日志文件达到多大时进行归档,打成一个压缩包logging.logback.rollingpolicy.max-file-size10MB# 归档日志文件总共达到多大时删除logging.logback.rollingpolicy.total-size-cap50GB# 归档日志文件最多保留几天logging.logback.rollingpolicy.max-history60#启动项目时是否清理归档日志文件logging.logback.rollingpolicy.clean-history-on-startfalse# 归档日志文件名格式logging.logback.rollingpolicy.file-name-pattern${LOG_FILE}.%d{yyyy-MM-dd}.%i.gz日志框架切换先排除log back 再引入新依赖org.springframework.bootspring-boot-starter-loggingorg.springframework.bootspring-boot-starter-log4j2诰智邮趾

相关文章:

不满意Oh My Zsh启动卡顿,来试试Starship吧坷

pagehelper整合 引入依赖com.github.pagehelperpagehelper-spring-boot-starter2.1.0compile编写代码 GetMapping("/list/{pageNo}") public PageInfo findAll(PathVariable int pageNo) {// 设置当前页码和每页显示的条数PageHelper.startPage(pageNo, 10);// 查询数…...

接口测试——pytest框架续集倚

智能体时代的代码范式转移与 C# 的战略转型 传统的 C# 开发模式,即所谓的“工程导向型”开发,要求开发者创建一个复杂的项目结构,包括项目文件(.csproj)、解决方案文件(.sln)、属性设置以及依赖…...

Jasmine漫画浏览器:跨平台阅读的终极解决方案,打造你的个人漫画图书馆

Jasmine漫画浏览器:跨平台阅读的终极解决方案,打造你的个人漫画图书馆 【免费下载链接】jasmine A comic browser,support Android / iOS / MacOS / Windows / Linux. 项目地址: https://gitcode.com/gh_mirrors/jas/jasmine 你是否经…...

所谓面试造火箭,其实只看这4种能力

文章目录前言一、先搞清楚:面试官到底在焦虑什么?二、第一种能力:把复杂问题剁碎了的本事2.1 什么叫"问题拆解"?2.2 怎么练这个能力?三、第二种能力:承认自己不知道的底气3.1 "不知道"…...

Windows经典游戏兼容性修复完整方案:DDrawCompat让老游戏在现代系统重获新生

Windows经典游戏兼容性修复完整方案:DDrawCompat让老游戏在现代系统重获新生 【免费下载链接】DDrawCompat DirectDraw and Direct3D 1-7 compatibility, performance and visual enhancements for Windows Vista, 7, 8, 10 and 11 项目地址: https://gitcode.com…...

如何快速掌握FanControl:Windows风扇智能控制的终极免费方案

如何快速掌握FanControl:Windows风扇智能控制的终极免费方案 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitHub_Trend…...

如何用番茄小说下载器构建个人数字图书馆:5步快速入门指南

如何用番茄小说下载器构建个人数字图书馆:5步快速入门指南 【免费下载链接】fanqienovel-downloader 下载番茄小说 项目地址: https://gitcode.com/gh_mirrors/fa/fanqienovel-downloader 在网络小说阅读日益流行的今天,你是否遇到过这样的困扰&a…...

基于Docker的NextCloud与OnlyOffice无缝集成方案

1. 为什么需要NextCloud与OnlyOffice集成 如果你正在寻找一套私有化的协同办公解决方案,NextCloudOnlyOffice的组合绝对值得考虑。NextCloud作为开源的云存储平台,提供了文件管理、日历、联系人等基础功能,而OnlyOffice则是功能强大的在线文档…...

SBTI打不开?手把手教你部署自己的人格测试(附源码链接)

网站打不开?部署自己的SBTI人格测试(附源码链接) 最近在B站刷到了一个很火的SBTI人格测试,觉得挺有意思的。作为一名开发者,我决定自己动手实现一个可以本地部署的版本。本文将带你从零开始,用Flask框架搭…...

Zemax多重结构仿真分光板的光路设计与优化

1. 分光板光路仿真的核心挑战 在光学系统设计中,分光板是实现光束分束的关键元件。传统单一路径仿真无法准确模拟分光板同时产生的透射和反射光路,这正是Zemax多重结构功能大显身手的地方。我曾在激光雷达接收端设计中,就遇到过需要同时分析分…...

告别云函数和自建域名:手把手教你用CDN和合法域名搭建CobaltStrike 4.9.1匿名基础设施

红队基础设施匿名化实战:基于CDN与合法域名的CobaltStrike 4.9.1架构设计 在攻防对抗的持续升级中,红队基础设施的隐蔽性与抗溯源能力已成为决定行动成败的关键因素。传统云函数方案虽然降低了部署门槛,但其高度标准化的流量特征和有限的配置…...

别再只用Entity了!Cesium性能优化实战:用Primitive实例化渲染1000个建筑模型

突破Cesium性能瓶颈:用Primitive实例化渲染千级建筑模型的实战指南 当数字孪生城市项目需要展示数千栋建筑时,Entity API的便捷性反而成为性能杀手——帧率骤降、交互卡顿成为常态。这并非Cesium引擎的极限,而是我们尚未掌握其底层渲染能力的…...

树莓派与PC间无线视频流传输:基于Python和OpenCV的实时图像处理方案

1. 项目背景与需求分析 当你用树莓派做自动驾驶小车或者远程监控项目时,最头疼的问题之一就是实时视频传输。传统SSH方式虽然能显示图像,但就像用老旧水管输水——流量一大就卡顿,连带机电控制也受影响。我去年做智能巡检机器人时就踩过这个坑…...

FPGA开发中通信协议与接口的选型策略与实战场景解析

1. FPGA通信协议与接口选型的核心考量因素 第一次接触FPGA通信选型时,我被各种协议参数搞得晕头转向。直到在工业控制项目中因为选错协议导致数据丢包,才真正理解"没有最好的协议,只有最合适的方案"这句话的含义。选型就像给不同性…...

G-Helper:拯救华硕笔记本性能的3个关键技巧与实战指南

G-Helper:拯救华硕笔记本性能的3个关键技巧与实战指南 【免费下载链接】g-helper Lightweight, open-source control tool for ASUS laptops and ROG Ally. Manage performance modes, fans, GPU, battery, and RGB lighting across Zephyrus, Flow, TUF, Strix, Sc…...

Dify平台上的LiuJuan20260223Zimage模型部署与优化

Dify平台上的LiuJuan20260223Zimage模型部署与优化 在当今AI应用快速发展的背景下,高效部署和优化模型成为很多开发者的实际需求。本文将分享在Dify平台上部署LiuJuan20260223Zimage模型的实践经验,帮助你在生产环境中获得更好的性能和稳定性。 1. 理解L…...

Verilog数组操作实战:从基础到高级赋值技巧

1. Verilog数组基础:从零开始理解硬件数据结构 第一次接触Verilog数组时,我完全被那些方括号搞晕了。直到在项目中真正用上数组,才发现它简直是硬件描述语言中的瑞士军刀。简单来说,Verilog数组就是一组整齐排列的数据盒子&#x…...

手把手教你用Simulink搭建二极管钳位型三电平SVPWM闭环系统(附模型下载)

从零构建三电平逆变器仿真:Simulink实战指南 在电力电子领域,三电平逆变器因其优异的谐波性能和效率优势,已成为中高压应用的首选拓扑。而二极管钳位型结构凭借其简单的实现方式,让工程师能够以较低成本获得高质量的输出波形。本文…...

、SEATA分布式事务——XA模式煞

MySQL 中的 count 三兄弟:效率大比拼! 一、快速结论(先看结论再看分析) 方式 作用 效率 一句话总结 count(*) 统计所有行数 最高 我是专业的!我为统计而生 count(1) 统计所有行数 同样高效 我是 count(*) 的马甲兄…...

STK11.2 实战:从三维空间到二维平面的卫星相对运动可视化分析

1. 为什么需要卫星相对运动可视化分析 在航天任务中,两颗或多颗卫星之间的相对运动关系分析是至关重要的。想象一下,你正在指挥一场太空芭蕾,需要确保每位舞者(卫星)都能在正确的时间出现在正确的位置,既不…...

时变分位数ΔCoVaR模型代码功能说明

时变动态分位数CoVaR、delta-CoVaR,分位数回归 △CoVaR测度 溢出效应 动态 Adrian2016基于分位数回归方法计算动态条件在险价值。 R语言代码,代码更换数据就能用,需要修改的地方都已标明,并且举例怎么修改 每一行代码都有注释&am…...

大模型SLA指标体系构建,从推理吞吐QPS、上下文长度衰减率到幻觉率基线校准的7维监控矩阵

第一章:大模型工程化服务等级协议SLA设计 2026奇点智能技术大会(https://ml-summit.org) 大模型工程化落地的核心挑战之一,在于将非确定性推理能力封装为可度量、可保障、可运维的生产级服务。SLA设计不再是传统API响应延迟与可用性的简单延伸&#xff…...

高效查询:C++二分查找在年龄统计中的应用实践

1. 为什么需要二分查找处理年龄统计? 最近在做一个学生管理系统时,遇到了一个很有意思的问题:系统里有10万名学生信息,需要频繁查询某个年龄段的起止位置。最开始我用的是最简单的线性查找,结果每次查询都要遍历整个数…...

拆穿名词诈骗!用大白话理解晦涩难懂的AI概念朔

1. 架构背景与演进动力 1.1 从单体到碎片化:.NET 的开源征程 在.NET Framework 时代,构建系统主要围绕 Windows 操作系统紧密集成,采用传统的封闭式开发模式。然而,随着.NET Core 的推出,微软开启了彻底的开源与跨平…...

5个实用技巧优化你的媒体元数据管理体验

5个实用技巧优化你的媒体元数据管理体验 【免费下载链接】jellyfin-plugin-metatube MetaTube Plugin for Jellyfin/Emby 项目地址: https://gitcode.com/gh_mirrors/je/jellyfin-plugin-metatube MetaTube是一款专为Jellyfin和Emby设计的开源插件,它通过自动…...

再次革新 .NET 的构建和发布方式(一)追

本文能帮你解决什么? 1. 搞懂FastAPI异步(async/await)到底在什么场景下能真正提升性能。 2. 掌握在FastAPI中正确使用多线程处理CPU密集型任务的方法。 3. 避开常见的坑(比如阻塞操作、数据库连接池耗尽、GIL限制)。 …...

Dify 1.3.1离线部署保姆级教程:手把手解决Docker镜像拉取失败问题

Dify 1.3.1离线部署全攻略:从镜像获取到故障排查的完整解决方案 在当今AI应用开发领域,Dify作为一款开源的LLM应用程序开发平台,正受到越来越多开发者的青睐。然而,在实际部署过程中,网络环境限制往往成为阻碍开发者快…...

从零备份到量产部署:RK3588文件系统迁移全流程指南(含Ubuntu/Debian/麒麟系统适配)

从零备份到量产部署:RK3588文件系统迁移全流程指南(含Ubuntu/Debian/麒麟系统适配) 1. 企业级文件系统迁移的核心挑战 在RK3588芯片组的量产部署中,文件系统迁移往往成为最耗时的环节。我曾亲历一个汽车电子项目,团队花…...

从领域驱动到本体论:AI 时代的架构方法论变了韵

从0构建WAV文件:读懂计算机文件的本质 虽然接触计算机有一段时间了,但是我的视野一直局限于一个较小的范围之内,往往只能看到于算法竞赛相关的内容,计算机各种文件在我看来十分复杂,认为构建他们并能达到目的是一件困难…...

Pixel Language Portal部署教程:Windows WSL2环境下Hunyuan-MT-7B运行指南

Pixel Language Portal部署教程:Windows WSL2环境下Hunyuan-MT-7B运行指南 1. 引言:开启你的像素翻译冒险 想象你正站在一个16-bit像素世界的传送门前,手中握着一把能打开33种语言大门的钥匙。这就是Pixel Language Portal(像素…...