springboot
接入TLog日志
tlog是一个轻量化的链路日志标签解决方案spring web项目引入依赖<dependency>
<groupId>com.yomahub</groupId>
<artifactId>tlog-web-spring-boot-starter</artifactId>
<version>
x-www-form-urlencoded 自动转小写
场景用户进行邮箱验证, 发送成功了, 验证码也收到了, 也提交对了. 但, 就是不通过.原因前端通过form表单提交的数据 application/x-www-form-urlencoded后端接收的时候, 大写被自动转成了小写.SpringBoot: 1.5.10.RELEASE
Shiro与SpringAOP冲突导致无法请求到Controller
各依赖版本org.crazycake:shiro-redis-spring-boot-starter:3.2.1org.springframework.boot:spring-boot-starter-aop:2.3.0.RELEASE有个配置如下@Bean
public static Defaul
自定义HttpServletRequestWrapper报错
Bug代码public class BodyReaderHttpServletRequestWrapper extends HttpServletRequestWrapper {
private final byte[] body;
public BodyReaderHttpServletR
SpringBoot获取配置项原内容
@Component
public class PropertySourcesUtil {
@Autowired
ConfigurableEnvironment environment;
public String getProperty(String key) {
自定义rocketmq-spring-boot-starter
一般使用rocketmq-starter都会进行不同程度的封装, 在此分享一种封装思路基于rocketmq-spring-boot-starter
<dependency>
<groupId>org.apache.rocketmq</groupId>
<artifactId>rock
Java类加载器机制及应用
0x00 何时触发类加载动作显式加载通过ClassLoader的loadClass方法通过ClassLoader的findClass方法通过Class.forName隐式加载遇到new、getstatic、putstatic、invokestatic这4条字节码指令时对类进行反射调用时当初始化一个类
MyBatis-Plus动态返回实体类
1. 自定义SqlSession@Slf4j
public class GenericSqlSession extends DefaultSqlSession {
private static final ThreadLocal<Class<?>> CTX = new ThreadLoca
自定义SpringCache For Redis配置
SpringCache抽象了缓存使用场景, 对外提供注解, 无需繁琐配置即可获得缓存能力默认支持一堆缓存中间件, 其中就包括Redis在此仅提供一种缓存配置的思路
@Data
@Component
@ConfigurationProperties(prefix = "spring.cache.red
SpringBoot自定义枚举序列化方式
在平常web开发中, 或多或少的会使用到枚举类型但是springboot对枚举的序列化并不太符合实际开发需求比如public enum MerchantStatusEnum {
NORMAL(100, "正常"),
BAN(200, "封禁");
private fina
SpringBoot LocalDateTime序列化配置
项目中用LocalDateTime替换Date后, 许多地方需要增加配置配置Json响应格式化方式注册JavaTimeModule/**
* 序列化LocalDateTime
*/
@Bean
public JavaTimeModule javaTimeModule() {
JavaTi
OpenFeign统一Fallback处理
@Slf4j
@Configuration(proxyBeanMethods = false)
public class FeignLoadBalancedConfiguration {
@Bean
public LoadBalancerFeignClient feignClie
SpringBoot读写分离配置与事务
引入依赖<dependency>
<groupId>com.baomidou</groupId>
<artifactId>dynamic-datasource-spring-boot-starter</artifactId>
<version>3.5.1</version>
SpringBoot加载外部配置文件的几种方式
一@PropertySource("file:F:/my.properties")
@Configuration
@ConfigurationProperties(prefix = "my")
public class TestConfig {
private String url;
SpringBoot加载自定义yml文件
官方推荐使用yml,却不支持自定义的yml,匪夷所思。package com.xxx.xxx.xxx;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
i
SpringBoot线程池+多线程
启动类上加注解
@SpringBootApplication
@EnableAsync
public class SpringApplication {
public static void main(String[] args) {
SpringApplication.r
编写自己的Spring Boot Starter
1.新建一个maven项目命名规则统一是xxx-spring-boot-starter完整pom.xml<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
解决SpringBoot+JPA中使用set方法时自动更新数据库问题
首先引入EntityManager:然后用它来强转获得HibernateEntityManager,然后调用获得Session,然后在set完之后用Session的.evict()方法清掉该对象缓存(并非所有对象缓存),如此就ok了...好吧,已经java11不建议用了,不过还能用,先用着吧!更新了
SpringBoot Undertow http跳转https
package com.mtons.mblog.config;
import io.undertow.Undertow;
import io.undertow.UndertowOptions;
import io.undertow.servlet.api.SecurityConstraint;
i
SpringBoot 启动普通java工程
引入依赖<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
<version>2.0.9</version>
</dependency>