随笔分类 -  springboot

摘要:状态机,包括了状态和动作,某个**状态**下,只能执行某些**动作**,如果**动作**不匹配,状态是不会进行变更了,这样就保护了我们状态字段的准备性,不能随意改变,必须按着我们**设计的规则**进行状态的轮转。 # Stateless实现的状态机 1. **Stateless**:Stateles 阅读全文
posted @ 2023-06-25 16:07 张占岭 阅读(665) 评论(0) 推荐(0) 编辑
摘要:事实是这样的,我有个接口,这个接口不能被篡改,于是想到了比较简单的md5对url地址参数进行加密,把这个密码当成是sign,然后服务端收到请求后,使用相同算法也生成sign,两个sign相同就正常没有被篡改过。 问题的出现 接口中的参数包括userId,extUserId,时间,其中extUserI 阅读全文
posted @ 2023-04-23 17:23 张占岭 阅读(189) 评论(0) 推荐(0) 编辑
摘要:@ConditionalOnProperty注释在类或者bean方法上进行控制这个bean对象是否被注册,它是否被注册,完成依赖于ConditionalOnProperty里的value的值,为true时,表示被注册,为false表示不注册这个bean。而我们通过matchIfMissing来配置这 阅读全文
posted @ 2023-03-09 11:09 张占岭 阅读(713) 评论(0) 推荐(0) 编辑
摘要:1. 前言 WebMvcConfigurer配置类其实是Spring内部的一种配置方式,采用JavaBean的形式来代替传统的xml配置文件形式进行针对框架个性化定制,可以自定义一些Handler,Interceptor,ViewResolver,MessageConverter。基于java-ba 阅读全文
posted @ 2023-02-01 17:25 张占岭 阅读(585) 评论(1) 推荐(0) 编辑
摘要:上一篇说了关于MDC跨线程为null的理解,而本讲主要说一下,如何去解决它,事实上,Hystrix为我们留了这个口,我们只需要继承HystrixConcurrencyStrategy,然后重写wrapCallable方法,再把这个重写的对象注册到Hystrix里就可以了,跨线程共享数据,可以使用阿里 阅读全文
posted @ 2023-01-30 15:46 张占岭 阅读(399) 评论(0) 推荐(0) 编辑
摘要:MDC概念 MDC(Mapped Diagnostic Context,映射调试上下文)是 log4j 和 logback 提供的一种方便在多线程条件下记录日志的功能,也可以说是一种轻量级的日志跟踪工具。 MDC能做什么 那么通过MDC的概念,我们可以知道,MDC是应用内的线程级别,不是分布式的应用 阅读全文
posted @ 2023-01-29 17:11 张占岭 阅读(378) 评论(0) 推荐(0) 编辑
摘要:对于logback的模板来说,我们是可以自定义的,同时它也提供了一些公开的常量,比如%level,%thread这些,我们如果希望自定义这些常量,需要实现ClassicConverter抽象类,重写它的convert方法。 系统变量 %thread 当前线程 %d{yyyy-MM-dd HH:mm: 阅读全文
posted @ 2023-01-28 09:31 张占岭 阅读(634) 评论(0) 推荐(0) 编辑
摘要:BeanFactory BeanFactory是Spring容器中的一个基本类也是很重要的一个类是Spring容器中的一个基本类也是很重要的一个类,在BeanFactory中可以创建和管理Spring容器中的Bean,它对于Bean的创建有一个统一的流程。 Spring的本质是一个bean工厂(be 阅读全文
posted @ 2023-01-19 16:24 张占岭 阅读(93) 评论(0) 推荐(0) 编辑
摘要:excel读出来的json,它是一个字符串,不是标准json,所以需要对字符串字段进行解析 复杂的excel如图 通过poi解析json,通过jackson完成对字段的解析 public static List<Map<String, Object>> read(String filePath) t 阅读全文
posted @ 2022-10-28 16:17 张占岭 阅读(179) 评论(0) 推荐(0) 编辑
摘要:redis-cluster是一个高可用,可分片的分布式redis集群解决方案,建议使用springboot2.3及以上版本的脚手架,如果是<2.3版本,你需要手动添加LettuceConnectionFactory来实现因为服务器宕机引起的节点感应功能;如果没有添加动态感应,那你的redis-clu 阅读全文
posted @ 2022-10-24 16:54 张占岭 阅读(615) 评论(0) 推荐(0) 编辑
摘要:一个start包,它不需要有springboot启动类,它只提供一切公用的功能,被其它包依赖就行了,通过META-INF/spring.factories或者META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguratio 阅读全文
posted @ 2022-10-11 10:44 张占岭 阅读(549) 评论(0) 推荐(1) 编辑
摘要:RedisTemplate默认使用二进制hex的方式进行持久化,它对象的值存储到redis里,当然,你的对象需要先实现java.io.Serializable接口,这种方式兼容性好,速度快,存储空间小;缺点就是没有可读性,所以就有了json的序列化方式,下面总结一下。 一 JdkSerializat 阅读全文
posted @ 2022-09-16 17:20 张占岭 阅读(2101) 评论(0) 推荐(0) 编辑
摘要:对于springboot中基于方法的缓存Caching来说,我们直接以声明的方式添加,删除这些缓存,而它们在redis这种持久化产品中,通过value::key的方法组成一个redis.key,在业务方法中,可以通过这种key来手动获取它们。 注解声明 @CacheEvict(value = Cac 阅读全文
posted @ 2022-09-09 17:38 张占岭 阅读(509) 评论(0) 推荐(0) 编辑
摘要:ApplicationContextAware是一个接口,它提供一个方法setApplicationContext,当spring注册完成之后,会把ApplicationContext对象以参数的方式传递到方法里,在方法里我们可以实现自己的逻辑,去获取自己的bean,当前对接的断言等;一般用在被封装 阅读全文
posted @ 2022-09-09 10:03 张占岭 阅读(630) 评论(0) 推荐(0) 编辑
摘要:数据库说明文档,在我们开发项目时是非常必要的,有时项目交付时,客户也是需要让我们提供的,而如果人工编写,比如耗时,通过screw组件来生成文档,非常方便。 源代码和使用:https://github.com/pig-mesh/screw 添加依赖 <dependency> <groupId>cn.s 阅读全文
posted @ 2022-09-02 16:52 张占岭 阅读(177) 评论(0) 推荐(0) 编辑
摘要:首先,进行springboot2.7之后,官方不推荐使用/META-INF/spring.factories,转成和SPI比较类似的/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports文件, 阅读全文
posted @ 2022-08-31 16:42 张占岭 阅读(501) 评论(0) 推荐(1) 编辑
摘要:对于es的数据类型来说,如果它是一个复杂类型,而我们需要把复杂类型进行检索,那么应该定义成nested类型,而对于它的检索,如果是非集合数据,它与其它类型没有分别;而如果你的nested存储的数据是一个集合,那在进行不等于这种操作时,就需要说明一下了。 举例子 "id": "1", "operate 阅读全文
posted @ 2022-08-23 10:16 张占岭 阅读(284) 评论(0) 推荐(0) 编辑
摘要:thymeleaf在spring-mvc时代很是盛行,与freemaker组成了两大模版引擎,而进行springboot之后,很多项目都采用前后分离的模式,这使得模板引擎关注度少了;而在一些场景下,使用模板引擎还是有着不可替代的优势的,比如email模板,我们会把html模版文件和后端代码放到一个项 阅读全文
posted @ 2022-08-18 09:21 张占岭 阅读(672) 评论(0) 推荐(0) 编辑
摘要:前后一体的应用,是这样进行认证的 用户向服务端发送验证信息(用户名、密码); 服务端验证成功就向用户返回一个sessionid; 服务端保存了这个session_id对应的信息,并写入用户的 Cookie; 之后的每一次请求,都会通过Cookie,将session_id传回服务端,服务端收到sess 阅读全文
posted @ 2022-08-17 15:40 张占岭 阅读(1729) 评论(0) 推荐(0) 编辑
摘要:回到占占推荐博客索引 最近写了不过关于java,spring,微服务的相关文章,今天把它整理一下,方便大家学习与参考。 java~springboot(2022之前)~目录索引 java~springboot(2022之后)~目录索引 springboot~容器化环境获取真实IP地址 springb 阅读全文
posted @ 2022-07-28 11:19 张占岭 阅读(308) 评论(0) 推荐(0) 编辑