Spring Boot
文章平均质量分 78
purple.taro
想生活的更好,希望得到你的帮忙。
展开
-
SpringBoot--全局异常机制+RESTful统一规范
1.为什么需要全局异常机制?如果我们团队在开发项目的时候,程序出现异常是正常的,比如因为业务操作没有按照流程,程序的运行异常等等,我们不可能也不应该每一处异常进行单独处理,或者不处理将异常信息直接抛出给用户,这样会导致用户体验差。因此设置统一的异常处理机制具有以下好处: 输出日志可以增强log的可读性,对我们自己排除bug也增加优势, 提高用户体验性 降低前后端开发和维护成本(如果每一个后台开发抛出一场形式不一样,没有统一规范,前端每一个请求都会有一套处理异常逻辑,代码转载 2022-03-17 09:29:24 · 453 阅读 · 0 评论 -
SpringBoot--RESTful统一规范响应数据格式
什么是REST?REST是Representational State Transfer的缩写,是在2000年被Roy Thomas Fielding提出的,Fielding是一个很厉害的人物,他是HTTP协议的主要设计者。REST是他对互联网软件构架的原则。REST是一种针对网络应用设计和软件开发方式,降低了开发的复杂性,提高了系统的可伸缩性。如果想要具体了解一下其含义可以查看一下阮一峰老师对REST理解RESTful架构。我们在开发过程中需要有一个统一的数据返回格式,这样可以使得所有开发人员返回转载 2022-03-15 14:48:25 · 332 阅读 · 0 评论 -
SpringBoot--全局异常
我们在做后台开发的时候,出现错误是很正常的,SpringBoot异常报错有一默认的映射:/error,当出现错误的时候,SpringBoot会转到该请求中,并且这个请求还有一个全局的错误页面来展示这个错误。新建一个SpringBoot项目,代码如下:@Controllerpublic class TestController { @GetMapping("/test") public String test() throws Exception{ int a=1/转载 2022-03-15 14:37:20 · 2409 阅读 · 1 评论 -
CentOS7中使用DefaultKaptcha生成验证码 -- 报错及解决
系统是基本于诺依来进行实现的,所以生成验证码是诺依的原生代码,没有修改,在部署到 CentOS7 后,后台报如下错误信息:04:28:05.693 [QuartzScheduler_RuoyiScheduler-localhost.localdomain1646902033654_ClusterManager] ERROR c.a.d.f.s.StatF...skipping... at java.desktop/sun.font.FontManagerFactory$1.run(F原创 2022-03-11 14:53:52 · 1549 阅读 · 0 评论 -
Spring的@Scheduled任务调度
一. 定时任务实现方式定时任务实现方式:Java自带的java.util.Timer类,这个类允许你调度一个java.util.TimerTask任务。使用这种方式可以让你的程序按照某一个频度执行,但不能在指定时间运行。一般用的较少,这篇文章将不做详细介绍。 使用Quartz,这是一个功能比较强大的的调度器,可以让你的程序在指定时间执行,也可以按照某一个频度执行,配置起来稍显复杂,有空介绍。 使用Spring的@Scheduled注解配合@EnableScheduling一起使用。 Sprin转载 2022-03-01 13:19:05 · 673 阅读 · 0 评论 -
不用 kill -9,让 SpringBoot 优雅停机!
先来一段简单的代码,如下:@RestControllerpublicclassDemoController{@GetMapping("/demo")publicStringdemo()throwsInterruptedException{//模拟业务耗时处理流程Thread.sleep(20*1000L);return"hello";}}当我们流量请求到此接口执行业务逻辑的时候,若服务端此时执行关机 (kill),spring b.........转载 2021-10-19 05:28:47 · 612 阅读 · 0 评论 -
SpringBoot 五种热部署方式,提高生产效率
在SpringBoot中,模板引擎的页面默认是开启缓存的,如果修改了页面的内容,则刷新页面是得不到修改后的页面的,因此我们可以在application.properties中关闭模版引擎的缓存,如下:1、模板热部署Thymeleaf的配置:spring.thymeleaf.cache=falseFreeMarker的配置:注 意文末有:7701页互联网大厂面试题spring.freemarker.cache=falseGroovy的配置:spring.gro..转载 2021-10-19 05:29:13 · 191 阅读 · 0 评论 -
SpringBoot 总结:核心功能和优缺点
SpringBoot 核心功能1、独立运行Spring项目SpringBoot 可以以jar包形式独立运行,运行一个SpringBoot项目只需要通过java -jar xx.jar来运行2、内嵌servlet容器SpringBoot可以选择内嵌Tomcat、jetty或者Undertow,这样我们无须以war包形式部署项目3、提供starter简化Maven配置spring提供了一系列的start pom来简化Maven的依赖加载,例如,当你使用了spring-boot-starter-web,会转载 2021-10-17 06:01:37 · 1112 阅读 · 0 评论 -
SpringBoot 居然有 44 种应用启动器
啥是应用启动器?SpringBoot集成了spring的很多模块,比如tomcat、redis等等。你用SpringBoot搭建项目,只需要在pom.xml引入相关的依赖,和在配置文件中简单的配置就可以使用相应模块了。非常方便,spring boot集成了哪些启动器呢?SpringBoot应用启动器基本的一共有44种,具体如下:1)spring-boot-starter 这是Spring Boot的核心启动器,包含了自动配置、日志和YAML。2)spring-boot-starter-act转载 2021-10-17 05:43:41 · 240 阅读 · 0 评论 -
震精!Spring Boot内存泄露,排查竟这么难!
背景为了更好地实现对项目的管理,我们将组内一个项目迁移到MDP框架(基于Spring Boot),随后我们就发现系统会频繁报出Swap区域使用量过高的异常。笔者被叫去帮忙查看原因,发现配置了4G堆内内存,但是实际使用的物理内存竟然高达7G,确实不正常。JVM参数配置是“-XX:MetaspaceSize=256M -XX:MaxMetaspaceSize=256M -XX:+AlwaysPreTouch -XX:ReservedCodeCacheSize=128m -XX:InitialCodeCach转载 2020-05-30 13:04:24 · 124 阅读 · 0 评论 -
给大家讲讲用单层镜像方法优化Docker中的Spring Boot
在进行迭代开发和部署时,如何采用更有效的方法为Spring Boot应用程序构建Docker镜像。为Spring Boot应用程序构建Docker镜像的标准方法有一些缺点,因此在这里我们要介绍如何做得更好。文介绍了如何使用Docker中的一些关键概念和结构组件来优化Spring Boot应用程序。 Docker功能强大且易于使用。Docker允许开发人员研制的软件创建可移植的镜像。这些镜像可重...转载 2020-05-17 13:18:25 · 214 阅读 · 0 评论 -
实战|springboot+redis+拦截器 实现接口幂等性校验
今天跟大家分享下实战|springboot+redis+拦截器 实现接口幂等性校验的知识。1概念幂等性, 通俗的说就是一个接口, 多次发起同一个请求, 必须保证操作只能执行一次比如:订单接口, 不能多次创建订单支付接口, 重复支付同一笔订单只能扣一次钱支付宝回调接口, 可能会多次回调, 必须处理重复回调普通表单提交接口, 因为网络超时等原因多次点击提交, 只能成功一次 等...转载 2019-09-23 08:33:32 · 925 阅读 · 0 评论 -
Spring Boot 集成 ElasticSearch
今天跟大家分享下Spring Boot集成ElasticSearch的知识。1 Spring Boot集成ElasticSearchpom.xml文件中,依赖的各jar包版本如下:<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring...转载 2019-09-22 07:27:34 · 98 阅读 · 0 评论 -
Spring Boot 注解:快速掌握全家桶的最佳实践
分享下Spring Boot注解的知识。1 Spring Web MVC 与 Spring Bean 注解1.1 Spring Web MVC 注解@RequestMapping@RequestMapping注解的主要用途是将Web请求与请求处理类中的方法进行映射。Spring MVC和Spring WebFlux都通过RquestMappingHandlerMapping和Req...转载 2019-09-22 06:54:00 · 99 阅读 · 0 评论