date:
updated:

后端笔记


Java

SpringBoot

处理文件路径 windows 与 linux 兼容问题

window 和 linux 分隔符其实就是 \/ 的区别,其实让文件路径根据服务器的系统的不同而不同就可以了,而 java 已经给我们提供方法了 System.getProperty("file.separator") 能根据系统的不同获取文件路径的分隔符

在拼接文件路径时尽量使用File.separator,避免平台路径不兼容造成的错误

使用示例如下:

1
File myFile = new File("C:" + File.separator + "tmp" + File.separator, "test.txt");

异步处理任务

这种方式,是 SpringBoot 自身的一种异步方式,使用注解实现,非常方便

我们在 controller 上加上 @EnableAsync ,在想要异步执行的方法上加上 @Async 注解,即可

注意,这里的异步方法,只能在自身之外调用,在本类调用是无效的

controller:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
@EnableAsync
/* ...... */
public class OperImportController extends BaseController
{
/* ...... */
public AjaxResult add(@RequestBody OperImport operImport)
{
/* ...... */
// 开始异步解析
operImportService.analysisOperImport(operImport);
logger.info("======Thread======> " + Thread.currentThread().getName());
return result;
}
}

serviceImpl:

1
2
3
4
5
6
7
8
9
10
11
12
13
@Async
/* ...... */
public void analysisOperImport(OperImport operImport)
{
/* ...... */
try {
/* ...... */
logger.info("======Thread======> " + Thread.currentThread().getName() + ": 解析完成");
} catch (Exception e) {
logger.info("======Thread======> " + Thread.currentThread().getName() + ": 解析失败");
e.printStackTrace();
}
}

← Prev Yarn Workspaces | Python 笔记 Next →
打赏
支付宝 | Alipay
微信 | WeChat