- 博客(11)
- 收藏
- 关注
原创 外部组件引入选型逻辑
拿规则引擎选型为例,规则比较简单的场景自己实现比较好,引入外部组件反而增加复杂度。引入外部组件一般是因为逻辑过于复杂,自行实现难以考虑全面,这种情况下考虑使用外部组件,而对于规则简单(只有一个运算符)、规则体量小的场景,自己实现一个简单的规则匹配性能更好,复杂度低,如果未来规则逻辑变复杂了,也可以较低成本的迁移。不要有固化思维,觉得开源组件就一定比自己写的好,其实大部分性能不如自己写的好,因为组件考虑了很多复杂场景。
2023-11-17 10:28:18
91
原创 拦截器相关小记
WebMvcConfigurer 实现类添加拦截器HandlerInterceptor 实现拦截器@Data@ConfigurationProperties(prefix = “xxx.xx”) public class A{ private String a;}@Configuration@EnableConfigurationProperties(A.class)public AutoConfiguration{}上面两个注解配合可以注入配置文件到非spr.
2022-05-19 14:54:50
116
原创 mysql 查询分组后把某个字段聚集及使用
select * from(select id, a.meeting_id as meeting_id, GROUP_CONCAT(b.user_id) as user_idsfrom m as a left join u as bgroup by a.meeting_id) awhere FIND_IN_SET(#{userId}, a.user_ids)其中GROUP_CONCAT 可以把分组的数据聚合在一起FIND_IN_SET 可以查询字段是否包含某个值...
2022-04-29 11:57:45
1416
原创 用接口实现的方式简化代码
@FunctionalInterfacepublic interface Runnable { /** * When an object implementing interface <code>Runnable</code> is used * to create a thread, starting the thread causes the object's * <code>run</code> method t.
2022-04-28 23:04:29
678
原创 maven依赖包类spring实例注入失效问题
现象是类能够正常访问,但是没法spring自动注入。临时解决方案1:自己写一个Configuration 写bean注入方法@Configurationpublic class XxxxConfig{ @Bean public xxxx getXXXX(){ return new XXXX(); }}解决方案2:依赖包引入之后由于传递依赖,spring会去找依赖包META-INF下的spring.factories去加载config实例,
2022-04-27 13:22:54
1535
原创 @mapper(mapstruct) 实现converter 目标对象字段默认值不生效问题
由于目标类加了@Builder(lombok)注解,mapstruct编译后的实现类会使用builder的方式去构建目标对象,默认值字段不加@Builder.Default注解的话是不会填充到字段里面去的。具体原因需要去看@Builder注解实现方式,我猜实现方式是@Builder会新增一个类,把字段都填充进去,大概是字段初始化值没加@Builder.Default注解就不填充。...
2021-11-09 11:27:50
3052
原创 同一个对象方法间调用不触发第二个方法切面的问题
首先先介绍切面的原理切面是基于动态代理生成代理对象,拦截Spring管理Bean的访问,即bean注入的时候注入代理的对象。然后代理对象做了什么事情呢代理对象包了一层,在执行原对象方法前后做了一些操作。最后同一个对象方法间的调用不触发第二个方法切面的原因第一方法是调用注入的代理对象的代理方法,然后执行原对象的方法,而调用第二个方法并没有通过spring管理的bean,而是对象本身(即原对象),所以第二个方法调用的是原对象的,所以没执行切面。参考:spring 依赖注入时,什么
2021-10-08 21:01:40
567
原创 socket IO流例子
一、BIO 阻塞IOimport java.io.IOException;import java.net.ServerSocket;import java.net.Socket;public class SocketServer { public static void main(String[] args) throws IOException { ServerSocket serverSocket = new ServerSocket(9000); .
2021-04-19 21:50:13
117
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人