![](https://img-blog.csdnimg.cn/direct/00cc33d83677480899b86ebf142722c1.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Spring Boot
文章平均质量分 76
Spring Boot:快速构建Spring应用
Jerryean99
奋斗不息,编码不止,大家好,我是来自重庆的Jerryean99,一个坚信技术可以创造未来的Java程序猿!
展开
-
ValidationUtils逻辑校验【工具类】
逻辑校验,返回工具类。原创 2024-06-18 15:58:25 · 232 阅读 · 0 评论 -
MyBatis Plus Generator代码生成
MyBatis-Plus使用FTL模板能高效自动生成规范易读的代码,支持灵活定制和多平台,降低维护成本,提高开发效率。原创 2024-06-18 10:19:28 · 503 阅读 · 1 评论 -
使用Aspose技术将Excel/Word转换为PDF
Aspose是一款强大的文档处理库,支持多种编程语言,如JavaC#Python等。它提供了丰富的功能,可以轻松地实现各种文档格式之间的转换,包括WordExcelPowerPointPDF等。在本文中,我们将重点关注如何利用Aspose技术将Excel文件转换为PDF格式。通过本文的介绍,您应该已经了解了如何使用Aspose技术将Excel文件转换为PDF格式。本文只是讲解了使用Apose技术进行转换成PDF,其实该技术能够做的事情还有很多,可以轻松地实现各种文档格式之间的转换。原创 2024-06-07 11:49:10 · 746 阅读 · 1 评论 -
Java接口常见场景:返回树形结构
Java接口返回树形结构的方式主要有以下几种:1.使用嵌套的List;2. 使用递归方法;3. 使用JSON格式的数据。这些方式的优势在于可以方便地表示和处理具有层级关系的数据,使得代码更加简洁、易读。同时,通过接口返回树形结构,可以实现数据的动态加载,提高系统的性能。原创 2024-06-06 11:29:47 · 445 阅读 · 0 评论 -
高并发下使用Redis分布式锁确保接口执行唯一性【重点】
RedisLock通过使用Redis分布式锁,我们可以确保在高并发环境下,某个接口只有一个线程能够执行。这对于保证数据的一致性和完整性非常重要。原创 2024-06-06 10:11:03 · 437 阅读 · 0 评论 -
ApplicationEventPublisher-Spring事件发布器
ApplicationEventPublisher 是 Spring 框架中用于发布事件的一个接口。通过实现该接口,我们可以将应用程序中的事件发布给感兴趣的监听器,从而允许各个组件之间进行通信和交互。通过使用事件发布器,我们可以轻松地实现应用程序的解耦和灵活性。原创 2023-11-28 13:57:18 · 1848 阅读 · 0 评论 -
服务启动失败 Caused by: java.lang.NoClassDefFoundError: com/google/common/collect/Lists
按照报错信息,发现是改报错原因是缺少包,但是我项目中使用的。,这个包是有的,但是看了一下,这个包,将缺少的包放到。原创 2023-06-28 22:54:10 · 1158 阅读 · 0 评论 -
Mybatis-Plus插入后返回元素ID
Mybatis-Plus提供了多种方法来在插入数据后获取数据库自增的ID。除了使用@TableId注解外,还可以使用Mybatis-Plus提供的Wrapper类或使用原生SQL查询。原创 2023-06-19 10:44:12 · 11382 阅读 · 2 评论 -
HttpServletRequest、HttpServletResponse获取方式
HttpServletRequest和HttpServletResponse是Java Servlet API中的两个核心接口,用于处理HTTP请求和响应。在Servlet中,可以通过实现这两个接口来接收客户端发送的请求和发送响应给客户端。HttpServletRequest和HttpServletResponse对象可以通过Servlet API中的相应方法获取,例如通过Servlet的service方法或doGet、doPost等方法获取。原创 2023-06-19 18:00:00 · 2588 阅读 · 0 评论 -
lombok注解
【代码】lombok注解。原创 2023-06-15 08:30:00 · 184 阅读 · 0 评论 -
Spring常见的三种注入方式
Spring常见的三种注入方式包括构造器注入、Setter注入和Field注入。这些方式让开发者能够灵活地管理对象间的依赖关系,提高代码的可维护性和可读性。原创 2023-06-14 11:39:19 · 1630 阅读 · 0 评论 -
SpringBoot使用Mybatis-Plus中分页插件PaginationInterceptor
Mybatis-Plus的PaginationInterceptor是一个分页插件,用于在Mybatis框架中实现分页功能。它基于Mybatis的拦截器机制,对SQL语句进行拦截,自动添加分页参数和相应的SQL片段,从而实现对数据的分页查询。使用PaginationInterceptor可以简化分页查询的编写,提高开发效率。原创 2023-06-14 17:00:00 · 3150 阅读 · 0 评论 -
Spring Cloud Alibaba 2021.0.1.0之Nacos升级
spring-cloud-starter-alibaba-nacos-config 模块移除了 spring-cloud-starter-bootstrap 依赖,如果你想以旧版的方式使用,你需要手动加上该依赖,现在推荐使用 spring.config.import 方式引入配置。你可以手动通设置 spring.cloud.nacos.config.import-check.enabled=false 关闭它,但是不建议这么做,这个功能可以帮助你检查是否引入多余依赖。原创 2023-06-13 14:57:50 · 2019 阅读 · 0 评论 -
springboot项目启动指定对应环境的方法
Java多环境启动原创 2023-06-09 18:45:00 · 1997 阅读 · 0 评论 -
SpringBoot项目统一返回格式
微服务中,由于各业务团队之间的对接,各个团队之间需要统一返回格式,这样解析时不容易出现错误。因此,有必要统一返回格式。原创 2023-06-07 11:40:38 · 439 阅读 · 0 评论 -
spring.factories
spring.factories 是一个常用的配置文件,用于指定Spring Boot应用程序中自动配置类的位置。它允许开发者自定义和扩展自动配置的行为,通过在META-INF/spring.factories文件中指定相关配置。原创 2023-06-06 15:25:48 · 643 阅读 · 0 评论 -
【第二十四篇】Dubbo和Zookeeper集成
1.1 分布式理论1.1.1 分布式系统在《分布式系统原理与范型》一书中有如下定义:“分布式系统是若干独立计算机的集合,这些计算机对于用户来说就像单个相关系统”;分布式系统是由一组通过网络进行通信、为了完成共同的任务而协调工作的计算机节点组成的系统。分布式系统的出现是为了用廉价的、普通的机器完成单个计算机无法完成的计算、存储任务。其目的是利用更多的机器,处理更多的数据。分布式系统(distributed system)是建立在网络之上的软件系统。首先需要明确的是,只有当单个节点的处理能力无法满足日原创 2022-03-14 17:23:36 · 371 阅读 · 3 评论 -
【第二十三篇】Spring Boot集成redis
1.1 简介REmote DIctionary Server(Redis)是一个由Salvatore Sanfilippo写的key-value存储系统。Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Map), 列表(list), 集合(sets)和 有序集合(sorted sets)等类型。reids的优原创 2022-03-14 15:20:51 · 2246 阅读 · 2 评论 -
【第二十二篇】Spring Boot整合富文本编辑器【 Editor.md】
1.1 概述我们可以在官网下载它:https://pandao.github.io/editor.md/, 得到它的压缩包!解压以后,在examples目录下面,可以看到他的很多案例使用!看人家怎么写的,然后进行模仿就好了!我们可以将整个解压的文件倒入我们的项目,将一些无用的测试和案例删掉即可!我们来看一下总览图:1.2 基础工程搭建1.2.1 数据库设计article:文章表字段备注idint文章的唯一IDauthorvarchar作者title原创 2022-03-14 11:28:21 · 949 阅读 · 1 评论 -
【第二十一篇】异步、定时、邮件任务
1.1 概述在我们的工作中,常常会用到异步处理任务,比如我们在网站上发送邮件,后台会去发送邮件,此时前台会造成响应不动,直到邮件发送完毕,响应才会成功,所以我们一般会采用多线程的方式去处理这些任务。还有一些定时任务,比如需要在每天凌晨的时候,分析一次前一天的日志信息。还有就是邮件的发送,微信的前身也是邮件服务呢?这些东西都是怎么实现的呢?其实SpringBoot都给我们提供了对应的支持,我们上手使用十分的简单,只需要开启一些注解支持,配置一些配置文件即可!1.2 异步任务1、创建一个service包原创 2022-03-14 10:14:20 · 1233 阅读 · 1 评论 -
【第二十篇】Spring Boot中使用拦截器
1.1 概述拦截器的原理很简单,是 AOP的一种实现,专门拦截对动态资源的后台请求,即拦截对控制层的请求。使用场景比较多的是判断用户是否有权限请求后台,更拔高一层的使用场景也有,比如拦截器可以结合websocket一起使用,用来拦截 websocket请求,然后做相应的处理等等。拦截器不会拦截静态资源,Spring Boot的默认静态目录为resources/static,该目录下的静态页面、js、css、图片等等,不会被拦截(也要看如何实现,有些情况也会拦截,我在下文会指出)。1.2 拦截器的快速使用原创 2022-03-13 21:33:42 · 3317 阅读 · 1 评论 -
【第十九篇】Spring Boot中使用监听器
1.1 监听器介绍web监听器是一种 Servlet 中特殊的类,它们能帮助开发者监听 web 中特定的事件,比如 ServletContext, HttpSession, ServletRequest的创建和销毁;变量的创建、销毁和修改等。可以在某些动作前后增加处理,实现监控。监听器也叫Listener,是servlet的监听器,可以用于监听Web应用中某些对象,信息的创建,销毁,增加,修改,删除等动作的发生,然后做出相应的响应处理。当范围对象的状态发生变化时,服务器自动调用监听器对象中的方法,常用原创 2022-03-13 21:17:56 · 2073 阅读 · 2 评论 -
【第十八篇】Spring Boot事务配置管理
1.1 事务相关场景:我们在开发企业应用时,由于数据操作在顺序执行的过程中,线上可能有各种无法预知的问题,任何一步操作都有可能发生异常,异常则会导致后续的操作无法完成。此时由于业务逻辑并未正确的完成,所以在之前操作过数据库的动作并不可靠,需要在这种情况下进行数据的回滚。事务的作用就是为了保证用户的每一个操作都是可靠的,事务中的每一步操作都必须成功执行,只要有发生异常就回退到事务开始未进行操作的状态。这很好理解,转账、购票等等,必须整个事件流程全部执行完才能人为该事件执行成功,不能转钱转到一半,系统死了,原创 2022-03-13 17:25:28 · 1446 阅读 · 1 评论 -
【第十七篇】Spring Boot中的切面AOP处理
1.1 AOP概述AOP:Aspect Oriented Programming的缩写,意为:面向切面编程。面向切面编程的目标就是分离关注点。前面我们也在Spring里面详细讲解了AOP的使用,本章主要是进行复习讲解其在Spring Boot中的使用。1.2 Spring Boot 中的 AOP 处理1.2.1 AOP 依赖使用AOP,首先需要引入AOP的依赖。<dependency> <groupId>org.springframework.boot</group原创 2022-03-13 16:51:22 · 1020 阅读 · 1 评论 -
【第十六篇】Spring Boot中的全局异常处理
1.1 Spring Boot中的全局异常处理在项目开发过程中,不管是对底层数据库的操作过程,还是业务层的处理过程,还是控制层的处理过程,都不可避免会遇到各种可预知的、不可预知的异常需要处理。如果对每个过程都单独作异常处理,那系统的代码耦合度会变得很高,此外,开发工作量也会加大而且不好统一,这也增加了代码的维护成本。针对这种实际情况,我们需要将所有类型的异常处理从各处理过程解耦出来,这样既保证了相关处理过程的功能单一,也实现了异常信息的统一处理和维护。同时,我们也不希望直接把异常抛给用户,应该对异常进行原创 2022-03-13 10:10:06 · 2331 阅读 · 5 评论 -
【第十五篇】Spring Boot使用slf4j进行日志记录
1.1 简介在开发中,我们经常使用 System.out.println()来打印一些信息,但是这样不好,因为大量的使用 System.out 会增加资源的消耗。我们实际项目中使用的是 slf4j的logback 来输出日志,效率挺高的,Spring Boot提供了一套日志系统,logback是最优的选择。1.2 slf4j介绍引用百度百科里的一段话:SLF4J,即简单日志门面(Simple Logging Facade for Java),不是具体的日志解决方案,它只服务于各种各样的日志系统。按原创 2022-03-13 09:45:45 · 1288 阅读 · 2 评论 -
【第十四篇】Spring Boot返回Json数据及数据封装
1.1 Spring Boot返回Json数据及数据封装在项目开发中,接口与接口之间,前后端之间数据的传输都使用Json 格式,在Spring Boot中,接口返回 Json格式的数据很简单,在 Controller 中使用@RestController注解即可返回 Json格式的数据,@RestController也是 Spring Boot新增的一个注解,我们点进去看一下该注解都包含了哪些东西。@Target({ElementType.TYPE})@Retention(RetentionPolic原创 2022-03-13 09:07:55 · 4085 阅读 · 2 评论 -
【第十三篇】Spring Boot集成 Swagger2 展现在线接口文档
1.1 Swagger 简介1.1.1 解决的问题随着互联网技术的发展,现在的网站架构基本都由原来的后端渲染,变成了前后端分离的形态,而且前端技术和后端技术在各自的道路上越走越远。前端和后端的唯一联系,变成了API 接口,所以API 文档变成了前后端开发人员联系的纽带,变得越来越重要。那么问题来了,随着代码的不断更新,开发人员在开发新的接口或者更新旧的接口后,由于开发任务的繁重,往往文档很难持续跟着更新,Swagger就是用来解决该问题的一款重要的工具,对使用接口的人来说,开发人员不需要给他们提供文档原创 2022-03-13 08:47:08 · 691 阅读 · 1 评论 -
【第十二篇】Spring Boot中的页面国际化
1.1 页面国际化有的时候,我们的网站会去涉及中英文甚至多语言的切换,这时候我们就需要对页面进行国际化设计了。1.2 准备工作在IDEA中统一设置properties的编码格式1.3 编写配置文件编写国际化配置文件,抽取页面需要进行国际化的页面信息,可以去登录页面查看一下,哪些内容需要编写国际化的配置!1.3.1步骤一我们在resources资源文件下新建一个i18n目录(文件夹),存放国际化配置文件1.3.2 步骤二在i18n目录下新建一个login.properties文件,然后同样原创 2022-03-12 23:46:48 · 497 阅读 · 1 评论 -
【第十一篇】Spring Boot中的MVC支持
1.1 概述Spring Boot 的 MVC支持主要来介绍实际项目中最常用的几个注解,包括 @RestController、 @RequestMapping、@PathVariable、@RequestParam 以及@RequestBody。主要介绍这几个注解常用的使用方式和特点。1.2 @RestController@RestController是 Spring Boot新增的一个注解,我们看一下该注解都包含了哪些东西。@Target({ElementType.TYPE})@Retentio原创 2022-03-12 23:04:36 · 492 阅读 · 1 评论 -
【第十篇】Thymeleaf模板引擎
1.1 模板引擎前端交给我们的页面,是html页面。如果是我们以前开发,我们需要把他们转成jsp页面,jsp好处就是当我们查出一些数据转发到JSP页面以后,我们可以用jsp轻松实现数据的显示,及交互等。jsp支持非常强大的功能,包括能写Java代码,但是呢,我们现在的这种情况,SpringBoot这个项目首先是以jar的方式,不是war,像第二,我们用的还是嵌入式的Tomcat,所以呢,他现在默认是不支持jsp的。那不支持jsp,如果我们直接用纯静态页面的方式,那给我们开发会带来非常大的麻烦,那怎么办原创 2022-03-12 19:40:21 · 2259 阅读 · 1 评论 -
【第九篇】Web开发静态资源处理
1.1 简介SpringBoot的东西用起来非常简单,因为SpringBoot最大的特点就是自动装配。平时可以多看看SpringBoot的自动装配原理,找找相关类来研究一下:向容器中自动配置组件 :*** Autoconfiguration自动配置类,封装配置文件的内容:***Properties1.2 静态资源处理1.2.1 第一种静态资源映射规则首先,我们搭建一个普通的SpringBoot项目,回顾一下HelloWorld程序!写请求非常简单,那我们要引入我们前端资源,我们项目中有许原创 2022-03-12 15:02:58 · 303 阅读 · 1 评论 -
【第八篇】整合MyBatis
1.1 整合MyBatis官方文档:http://mybatis.org/spring-boot-starter/mybatis-spring-boot-autoconfigure/Maven仓库地址:https://mvnrepository.com/artifact/org.mybatis.spring.boot/mybatis-spring-boot-starter/2.1.11.2 整合测试1、导入MyBatis所需要的依赖<dependency> <group原创 2022-03-12 14:20:53 · 197 阅读 · 1 评论 -
【第七篇】整合Druid连接池
1.1 Druid简介Java程序很大一部分要操作数据库,为了提高性能操作数据库的时候,又不得不使用数据库连接池。Druid是阿里巴巴开源平台上一个数据库连接池实现,结合了 C3P0、DBCP 等 DB 池的优点,同时加入了日志监控。Druid可以很好的监控 DB 池连接和 SQL 的执行情况,天生就是针对监控而生的DB 连接池。Spring Boot 2.0以上默认使用Hikari数据源,可以说Hikari与Driud都是当前 Java Web上最优秀的数据源,我们来重点介绍 Spring Boo原创 2022-03-12 11:35:57 · 1331 阅读 · 3 评论 -
【第五篇】自动配置原理【重点】
1.1 概述配置文件到底能写什么?怎么写?SpringBoot官方文档中有大量的配置,我们无法全部记住1.2 分析自动配置原理SpringBoot的核心就是自动配置,自动配置又是基于条件判断来配置Bean。关于自动配置的源码在spring-boot-autoconfigure-2.0.3.RELEASE.jar了解自动装配原理之前我们先来看一下SpringBoot 的运行原理1.2.1 回顾Spring boot运行原理我们在前面已经说过了Springboot的运行原理,有疑问的同学可以回原创 2022-03-11 15:42:57 · 587 阅读 · 15 评论 -
【第四篇】JSR303数据校验
1.1 使用方式springboot 中使用依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-validation</artifactId></dependency>Springboot中可以用@validated来校验数据,如果数据异常则会统一抛出异常,方便异常中心统一处理。使用数据校验,原创 2022-03-11 14:50:02 · 405 阅读 · 1 评论 -
【第三篇】yaml配置注入
1.1 配置文件SpringBoot使用一个全局的配置文件 , 配置文件名称是固定的application.properties语法结构 :key=valueapplication.yml语法结构 :key:空格 value配置文件的作用:修改SpringBoot自动配置的默认值,因为SpringBoot在底层都给我们自动配置好了;比如我们可以在配置文件中修改Tomcat 默认启动的端口号!server.port=80811.2 yaml概述YAML是 “YAML Ain’原创 2022-03-11 11:37:38 · 1456 阅读 · 3 评论 -
【第二篇】运行原理探究【重点】
1.1 运行原理探究我们之前写的HelloSpringBoot,到底是怎么运行的呢,Maven项目,我们一般从pom.xml文件探究起;1.1.1 pom.xml文件1.1.1.1 父依赖其中它主要是依赖一个父项目,主要是管理项目的资源过滤及插件!<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent<原创 2022-03-11 10:46:16 · 324 阅读 · 10 评论 -
【第一篇】初识Spring Boot
1.1 简介1.1.1 Spring回顾Spring是一个开源轻量级的Java 开发框架。Spring是为了解决企业级应用开发的复杂性而创建的,简化开发。1.1.2 Spring是如何简化Java开发的为了降低Java开发的复杂性,Spring采用了以下4种关键策略:基于POJO的轻量级和最小侵入性编程,所有东西都是bean;通过IOC,依赖注入(DI)和面向接口实现松耦合;基于切面(AOP)和惯例进行声明式编程;通过切面和模版减少样式代码,RedisTemplate,xxxTempla原创 2022-03-10 17:32:43 · 624 阅读 · 16 评论