springboot经验总结
文章平均质量分 54
springboot使用经验总结
疯狂的狮子Li
这个作者很懒,什么都没留下…
展开
-
设计模式 代理模式(静态代理 动态代理) 与 Spring Aop源码分析 具体是如何创建Aop代理的
*** 购房者/*** 需求/*** 购买/*** 购房者 张三*//*** 需求*/@OverrideString need = "100平以上三室两厅两卫";System.out.println("张三: " + need);/*** 购买*/@OverrideSystem.out.println("张三: 我已付款");/*** 购房者 王五*//*** 需求*/@OverrideString need = "70平左右两室一厅";原创 2024-01-14 00:32:13 · 1544 阅读 · 0 评论 -
设计模式 建造者模式 与 Spring Bean建造者 BeanDefinitionBuilder 源码与应用
我们项目中最常使用的 Lombok 工具是如何实现的建造者呢, 我们来看一下。各种Bean定义信息对象的创建方法, 其实现更加的简洁并且符合实际开发需求.代码, 可以看出bean的构建过程还是很复杂的每个方法都做了很多操作。将复杂的构建过程封装起来, 这里如果有多种产品的建造者可以抽象出一个。在平常的应用中, 建造者模式通常是采用链式编程的方式构建对象, 修改。Spring框架中的建造者模式的应用有很多, 例如。具体如何创建Bean实例的可以查看这个类的实现。可以看出跟我们上面写的几乎是相同的。原创 2023-12-24 22:06:37 · 1455 阅读 · 0 评论 -
设计模式 原型模式 与 Spring 原型模式源码解析(包含Bean的创建过程)
原型模式(Prototype模式)是指:用原型实例指定创建对象的种类,并且通过拷贝这些原型,创建新的对象。原型模式是一种创建型设计模式,允许一个对象再创建另外一个可定制的对象,无需知道如何创建的细节。工作原理是:通过将一个原型对象传给那个要发动创建的对象,这个要发动创建的对象通过请求原型对象拷贝它们自己来实施创建,即对象.clone。原创 2023-12-18 16:09:15 · 1612 阅读 · 0 评论 -
Spring 的工厂模式 BeanFactory 是什么源码刨析
的大致功能了,我们发现当我们想要创建一个Bean的时候,总是离不开一个名词:Bean定义,那么这个Bean定义究竟是什么呢?这个底层实现类便理所当然的成为了我们此次探究的出发点,为了让我们有个更好的观感,以下是纯粹的。已经有一个大致的了解了,那么问题来啦,我们应该怎么从容器中获取一个bean呢?没有填充属性的步骤吗?可以发现这里使用了模板方法的设计模式扩展了许多的子类,其中我们最常用的为。清楚的知道Bean的类是什么,作用域是怎样,是否懒加载,的功能的,专业的事还是交给专业的人做,设计的事情还是交由。转载 2023-12-17 23:50:22 · 266 阅读 · 0 评论 -
SpringBoot 秒速集成各种短信供应商神器 再也不用去看什么sdk文档了 如:阿里云、腾讯云、云片、合一等数十种
在日常的开发过程中,短信的发送经常使用。第三方的短信往往是最常见的解决方案。SMS4J各种短信供应商,兼容了多厂商共用,以及动态配置切换,让您可以方便的使用多个厂商或者更换厂商进行短信发送。原创 2023-08-29 12:53:36 · 1884 阅读 · 0 评论 -
Mongodb 逻辑删除自动过滤
需配合自定义审计使用。原创 2023-03-28 17:46:43 · 549 阅读 · 0 评论 -
SpringBoot Mongodb常规与自定义审计(自动添加创建时间 创建人之类的)
通常情况 创建时间创建人之类的就够用不过总是会有一些别的需求 需要插入一些例如状态 等等的数据 这是就需要自定义审计了mongodb预留了一些处理接口 我们使用接口在数据转换前做自定义操作// 自行修改获取方式 Long userId = 1L;} }将实现注入到配置中} }原创 2023-03-28 17:35:53 · 824 阅读 · 0 评论 -
SpringBoot Event 事件机制使用方式与特性讲解
SpringBoot 事件机制使用方式与特性讲解原创 2022-12-08 19:02:42 · 1113 阅读 · 3 评论 -
SpringBoot 2.X 整合 JUnit5 及全方位使用手册
SpringBoot 2.X 整合 JUnit5 及全方位使用手册原创 2022-10-28 23:17:28 · 4336 阅读 · 0 评论 -
SpringBoot 改造 SpringCache 注解实现 支持注解指定扩展参数
SpringBoot 改造 Spring-Cache 注解实现 支持注解指定扩展参数原创 2022-08-15 14:53:05 · 1115 阅读 · 2 评论 -
docker-compose 搭建 ELK 7.X 并整合 SpringBoot
docker-compose 搭建 ELK 7.X 并整合 SpringBoot原创 2022-07-12 15:20:38 · 5184 阅读 · 4 评论 -
RedisTemplate用法详解
新增RedisTemplate封装工具类 :最全的 基于 RedisTemplate 封装的 RedisUtils 工具类Redis 可以存储键与5种不同数据结构类型之间的映射,这5种数据结构类型分别为String(字符串)、List(列表)、Set(集合)、Hash(散列)和 Zset(有序集合)。Redis的String数据结构set void set(K key, V val...原创 2018-08-24 09:57:32 · 79027 阅读 · 12 评论 -
11 张流程图帮你搞定 Spring Bean 生命周期 (核心)
在网上已经有跟多Bean的生命周期的博客,但是很多都是基于比较老的版本了,最近把整个流程化成了一个流程图。待会儿使用流程图,说明以及代码的形式来说明整个声明周期的流程。注意因为代码比较多,这里的流程图只画出了大概的流程,具体的可以深入代码。一、获取Bean第一阶段获取Bean这里的流程图的入口在 AbstractBeanFactory类的 doGetBean方法,这里可以配合前面的 getBean方法分析文章进行阅读。主要流程就是1、先处理Bean 的名称,因为如果以“&”开头的转载 2020-10-16 16:46:39 · 575 阅读 · 0 评论 -
SpringBoot+RabbitMQ ,保证消息100%投递成功并被消费(附源码)
一、先扔一张图说明:本文涵盖了关于RabbitMQ很多方面的知识点, 如: 消息发送确认机制 消费确认机制 消息的重新投递 消费幂等性, 等等 这些都是围绕上面那张整体流程图展开的, 所以有必要先贴出来, 见图知意二、实现思路 简略介绍163邮箱授权码的获取 编写发送邮件工具类 编写RabbitMQ配置文件 ...转载 2020-01-10 11:39:19 · 654 阅读 · 1 评论 -
SpringBoot 构建应用请求日志输出 与 param和json参数打印
SpringBoot 构建应用请求日志输出 与 param和json参数打印原创 2022-05-31 10:47:22 · 969 阅读 · 0 评论 -
SpringBoot 构建可重复读Request body
SpringBoot 构建可重复读Request body原创 2022-05-31 10:38:08 · 1300 阅读 · 2 评论 -
Spring Boot 整合 腾讯云短信(模板模式)
Spring Boot 整合 腾讯云短信(模板模式)原创 2022-05-25 17:42:06 · 955 阅读 · 0 评论 -
Spring Boot 整合 阿里云短信(模板模式)
Spring Boot 整合 阿里云短信(模板模式)原创 2022-05-25 17:38:15 · 1637 阅读 · 0 评论 -
springboot 配置 Validator 校验框架国际化 支持快速返回
1、国际化资源使用IDEA创建资源组2、编写配置application.yml 增加国际化目录配置增加国际化配置类 从请求头获取多语言关键字/** * 国际化配置 * * @author Lion Li */@Configurationpublic class I18nConfig { @Bean public LocaleResolver localeResolver() { return new I18nLocaleResolver(); } /**原创 2021-11-28 21:27:08 · 2964 阅读 · 0 评论 -
SpringBoot 2.X 整合 xxl-job 定时任务调度
创建springboot工程xxl-job-admin 为xxl-job控制中心demo-job 执行器demo集成xxl-job控制台xxl-job官网代码地址下载xxl-job控制台代码与sql文件将sql导入到我们的数据库将xxl-job-admin导入我们的工程修改其配置文件改好之后 启动应用即可访问 http://localhost:9090/xxl-job-admin 进入控制台默认账号密码为 admin/123456 可在用户头像处修改进入到这 控原创 2021-10-21 15:16:40 · 2019 阅读 · 0 评论 -
SpringBoot mvc Locale 国际化方案
1、国际化资源使用IDEA创建资源组2、编写配置application.yml 增加国际化目录配置增加配置类 从请求头获取多语言关键字/** * 国际化配置 * * @author Lion Li */@Configurationpublic class I18nConfig { @Bean public LocaleResolver localeResolver() { return new I18nLocaleResolver(); } /** * 获原创 2021-08-09 09:33:11 · 537 阅读 · 0 评论 -
SpringBoot Jackson 序列化 Long值 雪花id 前端失真 自定义解决方案
一、获取JS数值范围使用 chrome 浏览器控制台查看 JS 最大最小值二、编写自定义处理方案继承 jackson 的数值序列化类 NumberSerializer 重写 序列化实现/** * 超出 JS 最大最小值 处理 * * @author Lion Li */@JacksonStdImplpublic class BigNumberSerializer extends NumberSerializer { /** * 根据 JS Number.MAX_SAFE_INT原创 2021-07-29 15:12:34 · 1647 阅读 · 0 评论 -
SpringBoot 2.X 整合 druid + dynamic-datasource 多数据源方案
官方文档: dynamic-datasource-spring-boot-starter一、依赖导入springboot 2.4.7druid-spring-boot-starter 1.2.6dynamic-datasource-spring-boot-starter 3.4.0 <dependency> <groupId>com.alibaba</groupId> &l原创 2021-06-22 15:56:17 · 6744 阅读 · 1 评论 -
SpringBoot 2.X 集成 Redisson 性能更好 功能更全 分布式锁支持的 Redis客户端
1.项目相关项目结构依赖版本springboot 2.3.11.RELEASEredisson-spring-boot-starter 3.15.2导入依赖pom.xml <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-s原创 2021-06-02 11:29:37 · 1489 阅读 · 1 评论 -
SpringBoot 整合 Security + SpringBoot-Admin 全方位监控(日志在线监控踩坑)
一、依赖导入1) 项目结构2) 项目版本依赖spring-boot 版本 2.2.13.RELEASE spring-boot-admin 版本 2.3.1pom.xml 导入 <properties> <java.version>1.8</java.version> <spring-boot-admin.version>2.3.1</spring-boot-admin.version>原创 2021-05-07 12:54:07 · 2310 阅读 · 9 评论 -
SpringBoot 打包分离依赖jar包 减少上传时间 提高部署效率
修改pom增加maven插件与build配置 <build> <finalName>${project.artifactId}</finalName> <plugins> <!--设置应用 Main 参数启动依赖查找的地址指向外部 lib 文件夹--> <plugin> <groupId>org.apache.maven.plugins</groupId> <.原创 2021-04-20 14:22:52 · 1403 阅读 · 3 评论 -
SpringBoot 2.X 整合 EasyExcel 2.X (附带模板导出工具类)
前置EasyExcel 是 alibaba 开源的 Excel 处理工具 建议先阅读官方文档 :easyexcel官方文档 常规使用 官方文档已经写的很清楚了 这里不在概述 本篇文章 内容关于模板导出一、依赖导入 <dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel</artifactId> <version>2.2.6&.原创 2021-03-10 18:03:08 · 2797 阅读 · 0 评论 -
SpringBoot 2.X集成 openfeign (使用okhttp3)接口化管理http请求(支持Hystrix熔断)
项目配置新增依赖这里注意openfeign版本是对应springboot的 请依据官方版本选择依赖 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-openfeign</artifactId> .原创 2021-01-27 15:49:03 · 6258 阅读 · 0 评论 -
SpringBoot 整合 maven 多环境配置
介绍在实际开发过程中,可能需要不断进行环境的切换和打包部署,通常我们会选择在 application.yml 中修改不同环境对应的配置文件,这种方式不仅效率低,而且很容易发生错误,造成不必要的麻烦降低工作效率。maven提供了多环境配置,可以方便实现不同环境的配置切换和打包。配置首先准备配置文件 这里我准备dev和prod两种修改pom增加多环境配置 <build> <resources> <r....原创 2020-12-01 12:04:41 · 2034 阅读 · 0 评论 -
SpringBoot 2.X 异步处理@Async 拿不到 SpringSecurity 认证信息问题 解决方案
问题描述main方法开启异步处理service使用异步注解springSecurity获取认证信息返回null问题原因SpringSecurity是线程绑定的 异步处理是重新new一个线程进行业务处理所以说新线程里是没有认证信息的解决方案需要重写AsyncConfigurer使用SpringSecurity的 装饰线程池这样就可以携带认证信息了@Configurationpublic class AsyncConfig extend...原创 2020-06-29 12:45:10 · 4758 阅读 · 9 评论 -
SpringBoot 2.X 整合WebSocket 与 thymeleaf 实现聊天室
1.项目创建创建springboot项目这个就不多说了,相信大家都会pom引入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-websocket</artifactId> </dependency>原创 2020-05-22 16:06:03 · 1614 阅读 · 0 评论 -
SpringBoot 2.x 使用 exe4j 打包成 exe 可执行文件(附带启动传参)
1.下载安装exe4j官网地址:https://exe4j.apponic.com/2.注册exe4j启动exe4j后点击右下角ChangeLicense填写用户名公司与注册码注册码列表A-XVK258563F-1p4lv7mg7savA-XVK209982F-1y0i3h4ywx2h1A-XVK267351F-dpurrhnyarvaA-XVK20443......原创 2020-04-26 17:24:49 · 3764 阅读 · 6 评论 -
SpringBoot 2.X 集成 Spark 2.X 实现 WordCount
1.创建springboot项目 引入spark依赖项目结构项目pom文件项目使用spark2.4.5依赖中自带scala无需安装 <groupId>com.lionli</groupId> <artifactId>springboot-spark-demo</artifactId> <versio...原创 2020-04-08 11:06:30 · 3220 阅读 · 4 评论 -
SpringBoot 2.X 整合 RocketMQ 实现消息生产消费(RocketMQTemplate实现)
1.安装RocketMQ请参考 :docker 安装 rocketmq(namesrv broker 与可视化控制台 console)2.项目结构3.创建父工程pom.xml <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.sp...原创 2020-02-02 12:16:15 · 10678 阅读 · 12 评论 -
SpringBoot 项目引入本地jar包,并设置maven打包一并打入
resources目录下新建lib文件夹,然后将需要的本地jar包放入进去pom文件中引入本地jar包依赖<dependency> <groupId>com.XXX</groupId> <artifactId>XXXXX</artifactId> <version>0.0.1-SNAPSHOT...原创 2020-01-17 14:38:57 · 2523 阅读 · 0 评论 -
SpringBoot 2.X 集成 Mybatis-Plus 3.X
导入mybatis-plus的jar包 <!-- mybatis-plus begin --> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <v...原创 2018-07-23 09:43:23 · 4103 阅读 · 1 评论 -
SpringBoot 2.X 配置 fastjson 返回值处理
WebMvcConfig.java @Configuration public class WebMvcConfig implements WebMvcConfigurer{ @Bean public HttpMessageConverters fastJsonHttpMessageConverters() { // 1.定义一个conv...原创 2018-06-25 16:50:24 · 2052 阅读 · 0 评论 -
SpringBoot 使用SSH 通过A服务器跳板机 连接B服务器Mysql(安全策略)
1.A与B配置SSH免密连接A服务器 192.168.1.141B服务器 192.168.1.1431)生成SSH密钥ssh-keygen -t rsa直接回车到结束回到 ~ 目录下发现 .ssh 文件夹生成秘钥成功2)发送公钥建立连接ssh-copy-id 192.168.1.143试登录一下B服务器(第一次连接需要密码)ssh ...原创 2019-12-25 12:22:02 · 5596 阅读 · 2 评论 -
SpringBoot 2.X 整合 J2cache 一级缓存 ehcache3 二级缓存 redis (含使用demo实例)
1.添加依赖 <!-- 添加ehcache支持 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-cache</artifactId> </dependenc...原创 2019-10-22 15:33:30 · 2811 阅读 · 0 评论 -
SpringBoot 2.X 文件上传配置 (解决各种文件上传的尴尬问题) 附带 MultipartFile 转 File 工具类 生产可用
增加配置类UploadConfig.java注释说的很明白import org.springframework.boot.web.servlet.MultipartConfigFactory;import org.springframework.context.annotation.Bean;import org.springframework.context.annotatio...原创 2019-08-07 15:39:55 · 1327 阅读 · 0 评论