文章 130
评论 48
浏览 79512
Springboot启动后执行方法的四种方式

Springboot启动后执行方法的四种方式

最新需要在项目启动后立即执行某个方法,然后特此记录下找到的四种方式

SpringBoot定义Freemaker模板的全局变量

SpringBoot定义Freemaker模板的全局变量

import freemarker.template.Configuration; import freemarker.template.TemplateModelException; import org.springframework.stereotype.Component; import javax.annotation.PostConstruct; /** * freemarker配置 * * @author hjljy * @date 2021/10/15 */ @Component public class FreemarkerConfiguration { private final Configuration configuration; public FreemarkerConfiguration(Configuration configuration) { this.configuration = configuration; } /** * 加载配置变量数据 * * @throws TemplateModelException 模板模型异常 */ @PostCo....

SpringBoot+Mybatis-plus:使用枚举接收参数并返回数据

SpringBoot+Mybatis-plus:使用枚举接收参数并返回数据

SpringBoot+Mybatis-plus:使用枚举接收参数并返回数据 最近项目当中大量使用到枚举,特此记录下项目当中使用枚举的好处,场景,使用方式。 枚举的好处 可读性高, 易理解 统一参数类型,避免传参错误 线程安全,全局唯一,无法修改 枚举使用场景 在实际的使用当中,当某个对象或者某个属性,需要有多个可供选择的状态或者描述,例如人的性别,支付的状态,错误的类型等等,都可以使用枚举。 枚举在项目中的使用 通常在项目当中会存在两种形式的枚举 第一种形式 /** * 性别枚举 * * @author hjljy */ @Getter public enum SexEnum { /** * 性别枚举 */ DEFAULT(-1, "保密"), WOMAN(0, "女"), MAN(1, "男"); @EnumValue //标记存储到数据库的值 @JsonValue //标记json返回的值 private final Integer code; private final String remark; SexEnum(Integer code, String remark) {....

Springboot2.x处理Long类型返回前端精度丢失以及LocalDateTime统一返回时间戳

Springboot2.x处理Long类型返回前端精度丢失以及LocalDateTime统一返回时间戳

最近在返回给前端数据的时候遇到了1 Long类型返回前端精度丢失 2LocalDateTime统一返回时间戳方便前端统一处理的问题,记录下解决方案。 代码如下 环境:springboot2.x ,JDK8 import com.fasterxml.jackson.core.JsonGenerator; import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.databind.DeserializationContext; import com.fasterxml.jackson.databind.JsonDeserializer; import com.fasterxml.jackson.databind.JsonSerializer; import com.fasterxml.jackson.databind.SerializerProvider; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import....

springboot2.0整合OAuth2并使用JWT作为token

springboot2.0整合OAuth2并使用JWT作为token

之前实现了Springboot之Security前后端分离登录 刚好这段时间有空,乘机整合下OAuth2。记录下当中遇到的问题和处理方式。

SpringBoot使用@ControllerAdvice配合ResponseBodyAdvice记录接口请求参数以及返回数据

SpringBoot使用@ControllerAdvice配合ResponseBodyAdvice记录接口请求参数以及返回数据

最近在项目当中需要记录接口请求参数以及返回数据,本来是打算通过自定义切面来实现的,后来发现可以使用@ControllerAdvice配合ResponseBodyAdvice来进行记录数据,特此记录,完整代码如下: /** * @author yichaofan * @since 2020/11/20 12:47 * @apiNote 统一打印请求参数和返回参数日志 */ @ControllerAdvice @Slf4j public class ResponseBodyAnalysis implements ResponseBodyAdvice { /** * 参数返回给前端之前进行,可以进行相关的处理例如,记录请求参数,响应参数,封装统一响应参数等操作 * * 源代码注释如下: * Invoked after an {@code HttpMessageConverter} is selected and just before * its write method is invoked. * @param body the body to be written * @param re....

Springboot之Security整合注意问题

Springboot之Security整合注意问题

之前简单实现了Springboot之Security前后端分离登录,在后续的使用当中发现了一些问题需要注意

Springboot之Security前后端分离登录

Springboot之Security前后端分离登录

什么是Spring Security Spring Security是一个功能强大且高度可定制的身份验证和访问控制框架。它是用于保护基于Spring的应用程序的实际标准。 Spring Security是一个框架,致力于为Java应用程序提供身份验证和授权。与所有Spring项目一样,Spring Security的真正强大之处在于可以轻松扩展以满足自定义要求 官方网站:https://spring.io/projects/spring-security#learn

Springboot读取自定义属性之集合(list,数组)

Springboot读取自定义属性之集合(list,数组)

springboot配置文件的读取操作很常见,之前也写过简单的读取配置文件的笔记SpringBoot学习之DAY_02 springboot配置文件信息读取 这篇笔记主要记录下最近在读取配置文件当中的心得和新知识点吧。

Springboot之Actuator服务监控

Springboot之Actuator服务监控

最近在项目当中,启动了多个微服务项目,想着如何监控启动的项目,然后就找到了Actuator这个东西!!!总结下自己学习到的知识点!!!

springboot之线程池ThreadPoolTaskExecutor以及@Async异步注解

springboot之线程池ThreadPoolTaskExecutor以及@Async异步注解

前言 最近项目当中有需求,要进行异步的处理,需要使用到线程池,很久没有使用到线程池了,一来是做JAVAweb开发基本上很少用到异步处理,二来是发现有的老项目里面,线程和线程池的使用比较混乱,有好几个线程池,有的线程池是通过spring管理的,有的是自己创建的,然后有的地方是直接创建的线程。所以这里记录下自己在项目当中如何优雅的使用线程池!避免项目当中到处都是线程池!!!

SpringBoot学习日志之发送邮件和SMS短信

SpringBoot学习日志之发送邮件和SMS短信

前言 账号注册的时候通常会选择短信注册或者邮箱注册,那么如何在JAVA当中实现短信的发送和邮件的发送呢? SMS服务实现 发送短信通常都是接入第三方的SMS服务,例如:阿里云SMS,百度云SMS,七牛云SMS等等。但是上面的都要钱,虽然不多。 不过腾讯云注册会送100条免费短信。所以作为一名个人开发者直接使用腾讯云的进行测试就可以了。实际开发的话,根据情况在进行选择就可以。 阿里云SMS接入指南:如何接入阿里云短信服务 (完整指南) 百度云SMS官方接入指南:简单消息服务快速入门 腾讯云SMS官方接入指南:官方文档API 这种接入第三方SDK开发的,还是要好好的去看看官方文档,根据官方文档进行操作一般不会出问题! 发送邮件实现 重要事项:一定要开启邮箱的SMTP服务!!!获得对应的授权码 重要事项:一定要开启邮箱的SMTP服务!!!获得对应的授权码 重要事项:一定要开启邮箱的SMTP服务!!!获得对应的授权码 以QQ邮箱为例:在邮箱设置--账户--POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务 里面开启SMTP服务获取授权码。 普通Java项目发送邮件....

一个菜鸟程序员的踩坑日记