- 博客(8)
- 收藏
- 关注
原创 Java 打包文件后,windows 解压报错
就是因为这个格式,windows 文件名是不支持 :(冒号)的,所以解压的时候会报错,把时间戳格式转换为。我遇到的是,错误的文件名导致的,在生成文件的时候,我们常常会加上时间戳,由于习惯我是用了。有些是流没有关闭导致的。
2024-09-01 12:56:04 132
原创 Spring Boot 父类自动注入属性
原因是我在一个开源项目中看到一个类,类上面没有使用 Spring 的注解,但是里面确使用了 @Autowired,起初我以为是通过 AutowireCapableBeanFactory 去另外注入的,后面发现这个类只被另外一个类所继承,不过子类有被注入 Spring。当然,子类是无法拿到父类的私有属性的,但是子类可以拿到父类,所以可以通过递归的方式先拿父类。于是,我想 Spring 对于这个子类,是不是也会自动帮他把父类里面的属性进行注入,因为父类的方法是公共的,要是属性不注入那就无法使用了。
2024-08-24 13:19:17 152
原创 Java 使用阻塞队列拿取异步回调的值
本文的场景是在一个线程中去调用另外一个系统,另外一个系统只能使用回调的方式来返回请求结果,但是当前线程却需要返回这次回调的结果。这个场景相当于一个线程等待结果,另外一个线程去唤醒它。这样就可以做到等待和唤醒的操作了。
2024-08-22 13:01:08 167
原创 SpringBoot 发送 POST 请求 form-data 格式
记录一下,发送请求时,替换文件名的一种写法。下面这个方法是 上传文件到企微。
2024-01-03 11:25:04 1182 1
原创 SpringSecurity 使用自定义过滤器解决跨域问题
因为跨域的请求,对于浏览器来说是复杂请求,所以会先发送一个 OPTIONS 类型的 HTTP 请求,这个请求不会携带任何信息,它的作用就是为了试探服务端是否能正常处理后续请求。我们知道 spring security 的本质就是一个过滤器链。所以我们只需要在第一个过滤器之前加入我们自定义的过滤器来处理跨域信息即可。所以当 OPTIONS 请求进来,我们需要在响应头中告诉浏览器可以发送后续请求。配置也很简单,只需要将这个过滤器放在过滤器链的第一个位置就行。跨域的解决方案有很多,这里介绍的是利用过滤器来解决。
2023-04-23 09:51:55 472 1
原创 JDBC insert 返回自增主键原理
插入是返回自增 id 这个功能在 jdbc 上就已经实现了,所以 mybatis 只是对其进行了封装,先研究 jdbc 返回自增主键得原理。以下是部分 jdbc 代码首先可以看到,在进行预处理得时候,就通过 Statement.RETURN_GENERATED_KEYS 来设置这次会话可以拿到自增主键。执行完 sql 后我们看 getGeneratedKeys() 是怎么拿到主键得。接着点下去会发现,只是通过 long beginAt = getLastInsertID();
2023-03-31 11:40:29 1002
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人