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(); } }
|